之前有一篇git的文章,就是几个入门的命令,怎样把代码提交到仓库里面去。
但是提交的过程中总不是一帆风顺,特别是多人协作的时候。
第一步我们需要把代码拉取到本地:
git clone
第二步查看分支:
git branch -r
加上-r是看远程仓库的分支,去掉是查看本地的分支
git branch -a
查看所有分支
第三步将我们需要开发的分支拉取到本地:
git fetch
更新所有分支
git fetch origin master
更新远程origin的master分支
git pull
也可以更新代码,相当于是从远程获取最新版本并merge到本地
git fetch + git merge == git pull
第四步切换到我们需要的开发分支上:
git branch
git checkout test(分支名)
第五步提交代码:
git pull
git add xxx
git commit -m ""
git push(如果是一个人开发这样做是没问题的,但是如果是多人开发,则需要和主干合并)
第六步代码合并:
git merge
如果只有master,直接可以合并代码,多人开发的项目,需要将自己的项目与主干合并。.如果有其他同事在主干上提交了新的代码,则我们就应该先拉取最新代码。
先切到master:
git checkout master
git pull
拉取完之后我们在切到自己的分支(test)
git checkout test
合并分支到master,就是使master指向你当前的分支(test)
git merge test
最后,push代码到远程仓库
git push
安利几个常用的git命令;
当我们在一个分支开发后,需要切到另一个分支进行开发,那当前的分支怎么保存呢?
别慌,可以用:
git stash
来暂存工作内容
暂存完之后,可以用status来查看:
git status
查看工作目录和暂存内容
git stash apply stash@{0}
用以上命令,就可以恢复刚才储存的状态了,stash@{0}表示存储的分支名
恢复之后,可以用
git stash drop stash@{0}将之前的存储状态删除
如果觉得麻烦。可以用:
git stash pop stash@{0}
这一行命令可以直接切换后删除,相当于执行了上述两行命令。
有些时候,合了一个新的分支后,出现问题,这个时候我们就需要线上回退了,
git reset --hard Head
表示回退到上一个版本。
git reset --hard commit_id
回退到指定的版本
commit_id可以通过git log来查看
git add -p
可以让你逐条的选择你的改动进入commit,这样更加安全