真的我,大概就是喜欢睡懒觉.打游戏.没事就自己发呆东想西想,每次去报刊都蹭杂志看,喜欢一个人三年都不敢表白的那种……你会觉得这种人生有什么意思么? 要是我看到这种人我都觉得没意思,可…我就是这种人。自己是棵草自己知道,人家夸你是棵参天大树你也不能信对不对?
介绍
GIT是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
安装
在github上注册账号后,到官网下载git即可~
管理项目
首先创建一个项目~
在这里~
然后生成你的密钥后加载到github中~
配置文件
Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。
在目录下打开git 命令行,输入
$ git config --global user.name '你的名字'
$ git config --global user.email 你的邮箱
创建SSH Key
ssh-keygen -t rsa -C "982722261@qq.com"
连续三次回车键~
然后返回结果找到对应生成的id_rsa.pub(公钥可公开),用记事本打开,把对应内容保存到你的github上面的设置中,在这里~
本地仓库搭建
随便新建一个文件夹,在文件夹目录下打开git命令行,输入
git init
会在目录下生成一个git文件,这个git文件负责管理这个文件夹的所有文件,也就是本地仓库~
然后再这个文件夹下面写一些代码啦~写一些程序啦~
推送
当你在这个目录下写完代码后,需要推送到github的时候,打开git命令行,输入
git add .
.代表当前目录下所有文件,可以把.换成当前目录下的文件夹
这样就是把所有的文件保存到本地仓库~
还有如下命令
· git add -A 提交所有变化
· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
· git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
撤销已经git add的文件
git reset HEAD 将file退回到unstage区
然后可以把本地仓库的内容写入缓存,写入缓存后就能推送啦~
输入
git commit -m '第一次版本提交'
加入缓存后,你还需要制定推送到哪个仓库呀~
git remote add origin git@github.com:你的名字/你在github上面创建项目的名字.git
如果出现 remote origin already exists ,删除分支即可
git remote rm origin
删除后,重新输入
git remote add origin https://github.com/你的名字/你在github上面创建项目的名字.git
当这一切都搞定后,使用一句命令开始推送~
git push -u origin master
如果出现 error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
的时候,使用命令:
git config http.sslVerify "false"
如果出现 git config http.postBuffer 524288000 这里命令设置了通信缓存大小,之前发生错误是同步数据过大导致。
x2 就是这么大 git config http.postBuffer 1048576000 也就是100M,但是没用,最大50M
使用命令:
git config http.postBuffer 524288000
如果Git远程推送文件太大的error解决
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errfno 10054
方法1:
改成ssh推送
方法2:
把推送的缓存扩大
#首先设置通信缓存大小
git config http.postBuffer 524288000
#然后把缓存清除
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file/dir>' HEAD
走代理
本地开启VPN后,GIt也需要设置代理,才能正常略过GFW,访问goole code等网站
设置如下(可复制):
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
取消
git config --global --unset http.proxy
git config --global --unset https.proxy
push出现问题
有一次提交,出现:
error: failed to push some refs to 'https://github.com/langzifun/
问题原因是:
远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了。
解决方法:
git pull --rebase origin master
提交的时候,使用这一条命令
该命令的意思是把远程库中的更新合并到(pull=fetch+merge)本地库中,–-rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。出现如下图执行pull执行成功后,可以成功执行git push origin master操作。
下载文件网速慢
修改host文件地址
hosts文件路径:C:\Windows\System32\drivers\etc\hosts
添加三行内容
192.30.253.113 github.com
151.101.25.194 github.global.ssl.fastly.net
192.30.253.121 codeload.github.com
cmd下执行命令
ipconfig /flushdns
如果在走ss代理,使用chrome下载速度起飞。
上传速度慢
将你的host文件改成这样
192.30.253.113 github.com
151.101.25.194 github.global.ssl.fastly.net
192.30.253.121 codeload.github.com
151.101.188.133 assets-cdn.github.com
如果不行修改这一行
151.101.72.249 github.global.ssl.fastly.net
执行ipconfig /flushdns命令
然后设置走你的ss代理
用git内置代理,直接走系统中运行的代理工具中转,比如,你的 SS 本地端口是 1080,那么可以如下方式走代理:
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
也可以停走代理:
git config --global http.proxy ""
git config --global https.proxy ""
速度在200k/s~5M/s
删除历史纪录
1.切换到新的分支
git checkout --orphan latest_branch
缓存所有文件(除了.gitignore中声名排除的)
git add -A
提交跟踪过的文件(Commit the changes)
git commit -am "commit message"
删除master分支(Delete the branch)
git branch -D master
5.重命名当前分支为master(Rename the current branch to master)
git branch -m master
6.提交到远程master分支 (Finally, force update your repository)
git push -f origin master
总结
总之,如果第一次使用的话,需要配置文件,生成ssh-key,然后保存到你的GitHub设置中~
然后每次都是:
新建文件夹-->git init-->git add . -->git commit -m "first commit"-->git remote add origin https://github.com/你的名字/你在github上面创建项目的名字.git-->git push -u origin master