准备工做git
=========服务器
0、克隆一个远程的代码厍spa
git clone ...开发
一、在本地建立一个work分支工作流
git checkout -b workit
平常工做ast
===========推送
0、在本地的work分支作各类修改,修改完了之后提交。文件
git commit时间
一、去主干上把别人最新的修改抓到本地的master
git checkout master
git pull origin master
二、在work分支上rebase主干的修改
git checkout work
git rebase master # 此步骤有可能须要解决冲突。
2.一、(可选)若是此时xxx文件发生冲突,那么git会自动在你本地建立一个临时分支,你须要在这个分支下编辑冲突的文件,解决冲突:
编辑xxx文件
git add xxx
git rebase --continue # 继续执行rebase,若是成功,会返回work分支
或者
git rebase --abort # 回退到rebase以前的状态,返回work分支
2.二、(可选)若是你但愿备份一下本地的work分支到服务器上,能够选择在这个时间点去上传
git push origin work
三、在主干上合并work分支的修改。(由于咱们已经作了rebase,这里应该没有任何冲突)
git checkout master
git merge work
四、把本地的master推送到服务器,让别人能看到你的工做成果
git push origin master
只要按照此顺序操做,这些基本就是你平常须要用到的全部git命令了,不会遇到什么奇怪的麻烦。并且master的历史会保持线性,不会有多头历史。
注意:这只是咱们推荐的工做流程。由于git比较灵活,支持不少种不一样的工做流程,因此拦不住你不按这个流程操做。因此,请务必弄明白本身在作什么之后再操做。
在使用git的时候,请记住一个简单的原则:
当你在本身的分支下修改了一个功能,想把代码合并回主干的时候,请在主干上执行: git merge 分支名
当你在本身的分支下工做,此时别人在主干上作了一些修改,你想把这些修改合并到你本身的分支上时,请在本身分支下执行: git rebase master (而不要执行 git merge master)
这样作,可让代码的提交历史记录更整洁,尤为是多人开发的时候,代码的历史是线性的