前言
实习六个月了,总结了一些常用的github命令:
我们公司用的方法是先把公司库Fork下来,在自己的本地库修改之后push到自己的远程库上,然后提交PR,别人通过之后就合并了。而且一般不用merge,而用rebase使git树看起来是一条直线(我虽浅薄又很通透的认识),开发代码用的是VSCode,这上面也有管理git的工具(这个在公司电脑上很好用,but not mine)
参考
这些博客真的帮助了我很多很多,非常感谢博主们。
流程:
- 申请账号,添加公钥。我们公司用的是ssh,这个申请权限使用 SSH 连接到 GitHub。时间长了,这里就不都赘述了(其实我忘了)。
- 详细过程:fork -> clone -> 创建分支 ->修改代码 -> 提交 ->提交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
不常用的几个命令
- git diff 参见Diff命令
VScode自带的或者可以下载的工具
以下操作是没有经过fork的,且在master分支下直接操作的流程。如果想切换分支的话,可以执行:git checkout -b checkName。
PS:最开始我都在在master分支下执行的,后来需要PR的多了,就慢慢使用了分支这种方式。实在是太方便了。而且VScode自带工具也很方便操作
进入正题
git add
把更改的文件从工作区workspace添加到暂存区stash里面,commit前的必需工作。git diff命令可以查看两者的区别(我不常用)
git add . :把所有更改的文件添加到stage里面
git add fileName
git commit
把缓存区里的文件添加到版本库中,git diff head可以查看两者区别,最好是git commit -m "commit信息",如果直接git commit可能会出错,另外commit message规范
接着我执行了git add. 把剩下两个文件一起提交。
执行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
如果想合并几个commit,如第二次提交和第一次修改合并,可以执行
git rebase -i HEAD~2
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。