Git笔记

作者: 不是谢志伟 | 来源:发表于2014-05-31 09:46 被阅读160次

    查看分支:git branch

    创建分支:git branch name

    切换分支:git checkout name

    创建+切换分支:git checkout -b name

    合并某分支到当前分支:git merge name

    删除分支:git branch -d name

    解决冲突

    使用git status命令可以查看冲突问题

    Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容

    使用git log可以查看分支合并的情况.

    Bug分支

    假设在dev分支上进行开发,而现在需要修复一个bug并且merge到master分支上.而现在dev上的工作只工作到了一半,还不能commit.

    这种情况下,可以在dev分支中,使用git stash,这时,git status查看工作区的时候是干净的(干净才可以checkout到其它的分支).

    现在,可以到其它分支上工作了.

    现在切回去bug分支,用git stash list可以查看工作区现场.

    恢复现场的两种方法:

    • git stash apply:恢复现场,但是stash不会删除.

    • git stash pop:恢复现场,但是stash会被删除.

    删除分支

    如果需要删除没有被merge的分支,需要使用命令:

    git branch -D feture
    

    多人协作

    从remote获取的项目只有master分支.

    如果远程有dev分支的话,在本地可以使用以下命令来checkout到在远程已经存在的另一个分支.

    //这样,在本地就会切换到远程dev的分支上.
    git checkout -b dev origin/dev
    

    多人协作的步骤:

    • 首先,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 push origin tagname可以推送一个本地标签;

    • 命令git push origin --tags可以推送全部未推送过的本地标签;

    • 命令git tag -d tagname可以删除一个本地标签;

    • 命令git push origin :refs/tags/tagname可以删除一个远程标签。

    Github的Pull Request

    步骤:

    1. 先在github上fork一个感兴趣的项目
    2. 在自己fork的项目上做修改
    3. 然后在github自己fork的项目上发起一个pull request

    git merge --no-ff

    git merge 带上参数--no-ff的区别如下:

    相关文章

      网友评论

        本文标题:Git笔记

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