美文网首页
Git 学习 二

Git 学习 二

作者: 南京小伙 | 来源:发表于2017-06-01 17:54 被阅读0次

    分支管理

    一、创建与合并分支

    在第一次 Git 会自动生成一个 master 分支给你,master 是指向提交的,HEAD是指向 master的。所以HEAD 是指向当前分支的

    master 分支是一条线,Git 用 master指向最新提交,用 HEAD 指向 master,来确定当前分支。

    每次提交 master 都会向前前进一部,

    创建一个 dev 分支时。Git 不仅创建了一个 dev 指针,同时改变了 HEAD 指针指向,将 HEAD 指向 dev,而 master 指针不变。

    当 dev 分支工作结束,就可以将 dev 分支合并到 master,即将 master 指向 dev 的当前指针提交。

    创建分支:git branch 分支名

    切换分支:git checkout 分支名

    创建,切换分支:git checkout -b 分支名

    查看当前分支:git branch

    切换到master 分支,然后合并分支:git merge dev,在合并分支前最好 git pull 一下。

    在切换分支前,如果在当前分支没有 commit ,直接切换 Git 会自动将修改的部分直接带到当前切换的分支。

    只有在 add,commit 之后,在切换分支,才会出现在当前分支修改,切换分支修改不见的效果。

    分支可以创建也可以删除:git branch -d 分支名

    冲突解决

    一、制造冲突

    创建一个分支:git branch feature1

    切换分支:git checkout feature1

    修改工作区内容,然后 add commit,提交到本地版本库。

    然后切换到 master 分支上,在 feature1 分支修改的位置从新修改。

    然后 add,commit ,提交到本地版本库

    然后 git merge feature1 -m “” (把 commit 描述也写进去了)合并两分支,此时就会产生冲突。

    因为此时 feature1 分支和 master 分支都有在相同的地方都有代码修改,同时也有提交。造成了 Git 无法合并。

    Git 会用 <<<< ==== >>>> 来标记不同分支内容。

    修改冲突,然后重新提交。

    用 git log --graph --pretty=oneline --abbrev-commit 可以查看合并情况

    Stash 暂存

    git stash 可以将你现在已工作的内容暂存起来,下次取出。

    git stash pop 可以将 stash 暂存的内容取出,同时删除 stash 暂存内容

    git stash list 可以查看暂存的内容

    每先一个需求最好创建一个分支来进行开发。

    git remote -v 可以看出远程库信息

    抓取分支

    多人协助时,会往 master 和 dev 分支上推送各自修改。

    默认情况下,只会 clone 下来时,只能看到本地的 master 分支。

    现在要在 dev 分支上开发,必须创建远程的 origin 的 dev 分支到本地

    可以通过:git checkout -b dev origin/dev将远程 origin 的 dev 分支创建到本地(即将本地 dev 分支 和本地 dev 分支绑定)。即可以在 dev 分支上开发和 push 到远程。

    如果通过:git branch dev 创建 dev 分支,在 git pull 的时候 git 提示

    通过 git branch —set-upstream-to=origin/dev dev 来将远程 dev 库和本地 dev 库关联。

    之后就可以通过 git pull 操作,进行 push 也是同理,需要关联本地分支和远程分支。

    一般操作情况:

    1、在推送之前一般先拉取 git pull,如若有冲突解决冲突。

    2、在 git push 自己本地的分支

    git push 和 git pull 过程中会出现本地分支和远程分支未关联导致 push 和 pull 失败。通过上诉来关联。或根据 git 提示来操作。

    相关文章

      网友评论

          本文标题:Git 学习 二

          本文链接:https://www.haomeiwen.com/subject/xrbefxtx.html