Git使用
参考视频:十分钟学会正确的github工作流,和开源作者们使用同一套流程_哔哩哔哩_bilibili
基本操作流
先将远程仓库复制到本地
-
本地分成两个部分
- Local:本地的仓库,即将要告诉git的信息
- Disk:本地的磁盘,源文件真正所在的位置
新建一个新的分支
编辑新的代码
可以使用git diff查看disk下的文件与local中文件的区别
保存新的代码
git add命令将会让git知道用户想要提交的文件有哪些,这些文件将被保存在暂存区
提交新的代码
通过git commit,git将会把修改的内容放到git中。但是此时,github还是不知道更新的
推送代码
推送后,github会出现一个新的分支
随主分支更新
在用户提交了一个新的信息(f-commit)后,主分支可能会有更新(update),这时候就需要确认my-feature下的更新是否可以在更新后的主分支下运行。
更新local branch
切换到main分支
拉取main分支的更新
切换到my-feature分支
同步update修改
git rebase意味着先把用户的修改放到一遍,把main最新的修改拿过来,在这个最新的修改基础之上,尝试把f-commit放上去。
此时可能会出现rebase conflict,这时候就需要手动选择。
相比较于merge,rebase是在主分支最新的提交上做出了修改。也就是说,相比较于merger会产生一个额外的merge commit,rebase会让提交更线性,更干净。但是公共分支不要使用。
提交分支的新修改
注意
此时提交必须加上-f
将代码合并到主分支
向项目管理者提出pull request
项目管理者合并代码
squash操作是为了将提交的分支上的所有改变都合并成一个改变,这样可以使主分支的commit history尽可能简洁。简单来讲就是所有的改变都被放入到了update2中,但是commit的结构数量和名字改变了
删除分支
当提交结束后,远端的分支就可以通过delete branch删掉了。但是此时本地的git上还有这个分支。
本地切换回主分支。
删除掉my-feature分支。
拉取新的主分支