git 管理项目流程

从 SVN 切换到 git,踩了许多坑,总结一下 git 的常用命令以及管理项目的流程。

1. 一般公司会有一个远程库,第一步是要克隆远程库到本地

git clone xxx (xxx 为远程库地址)

2. 这时本地库跟远程库的代码是一样的,而当我们要开发新功能或者改bug时,就得在本地新建分支

git checkout -b dev (dev 为本地分支名)

注意:git checkout -b dev 是 git branch dev (新建分支) 与 git checkout dev (切换分支)合并,意思是新建并切换到dev上

3. 接下来就是敲代码...敲完要保存并提交到本地库

git add . (把修改加入stage中,其中 add . 指的是 add 所有修改的代码)

git commit -m 'xxxx' (提交修改到本地 dev 分支,其中 xxxx 指的是提交时的注释)

4. 提交到本地库以后还要将改变提交到远程库

git push origin dev (dev 为远程库的分支名,一般跟本地库分支名是一样的)。此时我们并没有在远程库新建过分支,在远程库找不到 dev 分支时,这个命令会自动在远程库新建 dev 分支,很方便。

5. 在远程库申请分支合并请求,将远程库的分支与 master 合并,合并完以后没问题的话本地库与远程库的分支就可以删掉了

删除本地分支: git branch -d dev 

删除远程分支:git push origin --delete dev (一般不用自己删,合并完可以选择自动删除)

删除本地所有分支(除了master):git branch | grep -v "master" | xargs git branch -d

6. 再次新建分支前,先将本地 master 更新一下,与远程库同步。

 git fetch origin master (拉取远程库master)

git diff master (将本地代码与远程代码进行比较)

git merge origin master (本地 master 与 远程 master 合并) 

或者直接 git pull origin master,一步到位。关于git fetch 与 git pull 的区别,网上有很多解释,一般的说法是 git pull 相当于 git fetch + git merge,

原文地址:https://www.cnblogs.com/zdd2017/p/11357802.html