前言

实习六个月了,总结了一些常用的github命令:
我们公司用的方法是先把公司库Fork下来,在自己的本地库修改之后push到自己的远程库上,然后提交PR,别人通过之后就合并了。而且一般不用merge,而用rebase使git树看起来是一条直线(我虽浅薄又很通透的认识),开发代码用的是VSCode,这上面也有管理git的工具(这个在公司电脑上很好用,but not mine)

参考

这些博客真的帮助了我很多很多,非常感谢博主们。

流程:

  • 申请账号,添加公钥。我们公司用的是ssh,这个申请权限使用 SSH 连接到 GitHub。时间长了,这里就不都赘述了(其实我忘了)。
  • 详细过程:fork -> clone -> 创建分支 ->修改代码 -> 提交 ->提交PR

可以参见github----向开源框架提交pr的过程

我常用的几个命令

  • git add .
  • git commit
  • git status
  • git fetch upstream
  • git rebase upstream master
  • git push origin master -f
  • git rebase -i HEAD~n
  • git reset
  • git checkout -b branchName
  • git branch -d branchName

不常用的几个命令

VScode自带的或者可以下载的工具
VScode管理工具

以下操作是没有经过fork的,且在master分支下直接操作的流程。如果想切换分支的话,可以执行:git checkout -b checkName
PS:最开始我都在在master分支下执行的,后来需要PR的多了,就慢慢使用了分支这种方式。实在是太方便了。而且VScode自带工具也很方便操作Screenshot from 2020-09-25 10-34-20.png

进入正题

git add

把更改的文件从工作区workspace添加到暂存区stash里面,commit前的必需工作。git diff命令可以查看两者的区别(我不常用)
git add . :把所有更改的文件添加到stage里面
git add fileName
git add

git commit

把缓存区里的文件添加到版本库中,git diff head可以查看两者区别,最好是git commit -m "commit信息",如果直接git commit可能会出错,另外commit message规范

git commit
接着我执行了git add. 把剩下两个文件一起提交。
执行git log 查看提交记录
git log

连接到远程库

git remote -v可以看到连接的是哪个远程库

git push

git push origin master //把自己的提交commit提交到自己的远程库的master分支下。master也可以换成其他分支名
接下来就可以提交PR了

git rebase

常用在
1.多次提交代码,但最后只保留一个commit的。参考rabase合并多个commit
2.提交pr前整理git树。每次提交前都需要保证rebase upstream/master之后(把远程库的跟自己的合并)没有冲突,但其实这个合并不同于merge,rebase类似于把自己的分支直接接到远程master之后,这样整个提交树保证是个直线。
我在1.txt中做了修改:可以通过下图的方式commit修改1.txt
commit之后
如果想合并几个commit,如第二次提交和第一次修改合并,可以执行
git rebase -i HEAD~2
squash的话是保留那条commit信息,即-m后面的那些
合并成功,very nice


九是我呀
19 声望1 粉丝

希望每写一篇优质文章,工资就涨100元。