Git笔记

查看分支: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的区别如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于一个新的包括submodule的项目调用以下命令即可 或者 配置 首先是配置帐号信息 ssh -T git@g...
    brownfeng阅读 3,355评论 0 0
  • 我当时有意,下决心又没有醉意。 一直觉着自己是个懒散的人, 又时常笑话自己虽然懒散, 但在相思这件事上, 甘愿勤快...
    木土有阿杜阅读 741评论 0 1
  • 在书稿修改的过程中,柔刹地图的设计发生了巨大的变化。 我十五岁时就开始构思这本书了,当时多数情节和角色还设定在尤伦...
    Botanica阅读 4,075评论 2 2
  • 回顾: 前言 第一篇:目标的确立 第二篇:时间管理 第三篇:内心的源动力 2009年我开始学习MBA的第一堂课叫“...
    雁去留影阅读 3,602评论 0 1
  • 这是一篇酝酿了好久,却仍然注定写成一坨屎的日记。 因为我居然打算要来写恋爱这件事。 或许是因为快乐太充沛,以至于有...
    漫无目的的四处漂流阅读 1,105评论 0 0