【漫跨】Git小结(1)

写在前面

刚看了一个TED关于拖延的演讲,凡事还是有个deadline比较好啊,如果大脑不感到惊慌不感到事情的严重性,那是啥事都干不成滴。

正文

11.创建并切换分支
创建:
git branch dev
切换:
git checkout dev
创建并切换:
git checkout -b dev

12.列出当前分支
git branch

13.合并指定分支到当前分支(1)
git checkout master
git merge dev
合并后就可以删除dev分支了
git branch -d dev

14.合并分支出现冲突时要自己手动解决冲突
解决好冲突 要再提交一次。
git add
git commit -m "conflict fixed"
用下面的命令可以看到冲突解决后分支合并的情况:
git log --graph --pretty=oneline --abbrev-commit

15.合并指定分支到当前分支(2)
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m "merge with no-ff" dev
因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
当你接到bug修复任务时,你肯定得创建一个issue-101分支,但是你正在分支dev的工作还没完成,自然也就没提交喽。
幸好,Git提供了一个stash功能,可以把当前工作现场“储藏”起来,修复bug后可恢复现场继续工作:
储藏
git stash
恢复
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了.

如果你多次stash,可用git stash list来查看并确定恢复那个工作现场。用命令git stash apply stash@{0}恢复到指定现场。

16.feature分支
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

17.多人协作
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
小结:
查看远程库信息,使用git remote -v
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

你可能感兴趣的:(【漫跨】Git小结(1))