git实战

初始化git(你们即将成为git的子民)

img

1
git init

提交你的修改

因为git init不会创建master分支,除非commit一些东西。

img

1
git commit -m "commit message"

修改提交的message

难免手一抖的情况将提交的message打错了,可以通过amend方式修改

img

1
git commit --amend

合并提交的message

提交了几次突然发现其中几个提交可以合并为一个。

img

1
git reset --soft 你想合并的commit的前一个值

取消这次提交

纠结的事来了,你好不容易合并了几个commit,但产品说header和footer的样式不用调整了。。。(好伤)

img

1
git reset --hard 你想取消的commit的前一个值

还原这次提交

领导说header和footer的设计稿挺好的,否定了之前产品的说法。(我擦)

img

1
git reset --hard 你想还原的commit的值

合并分支(git rebase)

以下情况都需要用到git rebase

  • 我为了开发方便自己建了一个新分支,并且做了一些提交。当合并到master时我希望不显示这个分支(个人开发分支,跟团队没关系,不重要),就好像在最新的master做了一些提交一样。
  • 我和同事在本地master修改了一些东西,他已经提交到了远程服务器的master上。我pull的时候也希望就在master分支上,而不是有个merge的提交。所以pull的时候最好使用git pull -r。

img

1
2
3
git rebase 分支
git pull --rebase // git pull -r
git rebase --continue //解决冲突后,add到index区然后执行此命令即可

合并分支(git merge)

以下情况都需要用到git merge

  • 需要新建个分支来处理bug或者新加一个功能,通过git merge可以清楚地看到分支的合并情况。

img

1
2
3
git merge 分支
git pull // git pull -r
git commit //如果有冲突,解决并add后直接输入此命令,然后修改merge的提交信息

忽略某些文件或文件夹

  • 只是自己本地测试的代码,并不希望提交到master上
  • 编辑器产生的一些文件,和项目无关
  • 还有其它情况等等

img

未完待续