这里记录下日常工作中git的一些常用操作命令,以及一些常见FAQ,作为参考手册。
分支操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 拉取所有远程分支信息:
git pull --all
# 创建新的本地分支并跟踪远程分支
git checkout --track origin/branch
# 打标签
git tag <tag> -m "tag说明"
# 推送标签到远程仓库
git push origin <tag>
# 删除本地分支
git push origin --delete branch
# 新增远程仓库地址
git remote add origin remote_url
# 更新远程仓库地址
git remote set-url origin new_remote_url
|
版本回退
版本号回退有两种情况,一种是git reset(回退,不保留提交记录),一种是git revert(反做,保留提交记录)。
先使用git log查看版本提交记录历史,确认要回退的提交ID号。
1
2
3
4
5
6
7
8
| # 本地回退
git reset --hard 提交ID
# 远程回退
git push -f origin master
# 本地反做
git revert -n 提交ID
# 远程反做
git push origin master
|
暂存当前编辑内容
有时候本地正在编辑内容,但是又不想提交。这时候又要切换到其他分支去做事情。 这时候可以将本地修改暂存起来,
后面切换回来再恢复。
1
2
3
4
5
6
7
8
9
10
| # 把所有未提交的修改保存起来
git stash
# 恢复之前暂存的内容
git stash pop
# 查看当前暂存堆栈内容列表
git stash list
# 删除暂存堆栈中某一个暂存记录
git stash drop stash@{0}
# 删除所有暂存记录
git stash clear
|
合并多次提交为一个
1
2
3
4
5
6
| # 先通过命令查看历史记录
git log
# 然后合并到指定提交
git rebase -i 提交ID
# 合并最近3次提交
git rebase -i HEAD~3
|
创建内容为空分支
有时候可以从头创建一个新分支,里面啥东西都没有。
1
2
| git checkout --orphan branch
git reset --hard
|
Windows下Git账号管理
1
| git config --global credential.helper manager
|
其中~/.gitconfig配置如下
1
2
3
4
5
6
7
8
9
| [user]
name = xiongneng
email = xiongneng@xxx.com
[credential]
helper = manager
[http]
sslVerify = false
|
第一次的时候回提示用户输入口令,成功后会存储到Windows凭据管理器中,以后就不需要输入口令了。
后面更新git口令后,需要在控制面板\用户账号\凭据管理器下面去修改即可。
FAQ
记录下git操作过程中出现的问题和解决办法
本地push出现RPC failed; curl 56 OpenSSL SSL_read: Connection was reset
如图

原因:push过程中更新的文件过大,需要设置本地push的缓存区大小。
解决步骤:
1、首先输入如下命令:
1
| git config --globle http.sslVerify "false"
|
2、文件大小的上限设置:
1
| git config --global http.postBuffer 524288000
|
3、如果还是push失败,则需要继续修改git缓存的大小。