1、分支切换,一般需要将当前分支全部提交。如不提交,可以stash(暂存),考虑当前分支未提交部分是否需要merge到目标分支,如果需要,直接切换,如果不要先提交或者暂存。
git checkout [branch-name]
如果[branch-name] 远程分支有,本地分支没有,则新建本地[branch-name] 分支,并跟踪至远程[branch-name] 分支;若本地[branch-name] 存在,则直接切换。
2、提交回滚,同事新创建一次提交事件,两次commit,需要一并push,代码会回滚到第一次提交之前的代码。
3、 git 各仓库版本
HEAD commit版本
Index stage版本
4、开发中提交 流程
推荐使用工具sourceTree
修改代码——>(选中需要提交的文件)commit——>pull(查看代码有无冲突)
代码未更新的部分和自己修改的部分能够智能合并——>push(至此完成提交工作)
代码未更新部分不能和自己提交部分智能合并,这是文件会出现
<<<<<<< HEAD
//web edit 6 local edit7
=======
//web edit 7
>>>>>>> d466c254cfea3d9bcc71d0a553a2226372147c83
这种情况是同一文件给了同一位置所致,手动合并之后,删掉冲突文件
远程代码
//8 web edit 3
//local edit5
//local edit 6
//web edit 7
//8 web edit 3
//local edit5
//local edit 6
//web edit 6 local edit7
git命令操作
添加需要提交的文件
git add .(.是所有文件,如果不是所有则单个添加 或者根据匹配xxx/*)
git commit -m "提交的描述"
git pull(看看有没有冲突)
git push(提交,如果没有指定提交分支,默认提交到当前分支)
5、分支合并,各分支合并之前需要各自提交完,push完。然后执行
sourceTree操作(将master合并至20170710_standard_coupon)
切换当前分支为目标分支(20170710_standard_coupon)
将鼠标单击点到master分支,邮件,选择Merge master into current branch
然后完成合并,合并之后需要观察有无冲突,然后push
命令操作
git merge dev1 dev0:将dev1合并至dev0
git merge develop:将develop分支合并到当前分支
如果将master分支合并到dev
首先提交当前dev分支所有东西(见step4)
切换到master分支:git checkout master
拉master最新代码:git pull
切换回开发分支dev:git checkout dev
合并master到dev:git merge master
在合并过程中若出现冲突,手动解决冲突文件,再次commit,然后push
6、stash
如果在代码还没写完,需要切换分支,可以暂存自己的代码(stash)
暂存之后,应用暂存文件,以sourceTree工具为例