开发老人笔记:Git 常用命令清单
摘要:git 是目前世界上最先进的分布式版本控制系统。
git 是目前世界上最先进的分布式版本控制系统。
多人协作
![](https://static001.geekbang.org/infoq/33/33d0e4d0931d044251f5fdb655d28582.png)
master:此分支用来发布稳定的代码,合并一般是由管理员合并
dev:此分支用于团队开发,团队成员向此分支提交代码
bug:此分支用于修复紧急 bug,修复完成后一般删除
MASTER 分支
DEV 分支
在本地创建 dev 分支,需要 git push origin dev 同步到远程
![](https://static001.geekbang.org/infoq/e4/e4b689cec3a37f25db5115a37d4e77f1.png)
git merge dev 不需要进行 git add 等操作,它自动完成了
![](https://static001.geekbang.org/infoq/2a/2a0e677e35c9f905b41b6f1803bfd918.png)
Git 默认会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息,一般情况下应该使用 git merge --no-ff -m "merge with no-ff" dev
![](https://static001.geekbang.org/infoq/8d/8daaf311ff8c6ac6ecf41f1ed376f69c.png)
其他用户加入 DEV
现在本地创建,报错的原因是未和远程代码关联
![](https://static001.geekbang.org/infoq/85/85ca4b495ec1a20d4d8acc22fc5ddf04.png)
合并冲突
![](https://static001.geekbang.org/infoq/45/45cbb0cf626153d00b266c025bc118dd.png)
提交到 dev
![](https://static001.geekbang.org/infoq/6a/6afef0333a076083ecbc0008cd7455d9.png)
BUG 分支
当我们在自己的分支开发时,突然接到项目经理的反馈的一个 bug,但是此时我们工作区有缓存数据,只需要使用 git stash
![](https://static001.geekbang.org/infoq/1b/1b2a8f1d4a401f043fee9da41d0fd093.png)
相关命令
创建并切换分支
git checkout -b dev
切换分支
git check dev
查看当前分支
git branch
删除分支
git branch -d dev
更新项目组文件夹内容
git reset --hard
--no-ff git branch -d '' 后,在 git log 可以看到信息
git merge --no-ff -m "merge with no-ff" dev
git pull
git pull = git fetch + git merge origin/master
git config
git config --global user.name "username"
git config --global user.email "email"
git branch -D
丢弃分支
git rm -r --cached
gitignore 考虑不全面,发现有不该提交的文件已经提交后,用该命令
问题记录
error: cannot open .git/FETCH_HEAD: Permission denied
![](https://static001.geekbang.org/infoq/cd/cdfa1607ae909676437062d2f836af5c.png)
Failed to connect to github.com port 443: Timed out
![](https://static001.geekbang.org/infoq/b0/b06ddb710b9808bec89bcf661a0d6c7c.png)
本文分享自华为云社区《Git 常用命令及多用户相关操作》,原文作者:CodeStack。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/315192155b3c7f181e45365d2】。文章转载请联系作者。
评论