Git常用操作命令

这里记录下日常工作中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

如图 img.png

原因:push过程中更新的文件过大,需要设置本地push的缓存区大小。

解决步骤:

1、首先输入如下命令:

1
git config --globle http.sslVerify "false"

2、文件大小的上限设置:

1
git config --global http.postBuffer 524288000

3、如果还是push失败,则需要继续修改git缓存的大小。