一般做github上开源项目的流程:
首先,肯定是要克隆远程分支
git clone -b <指定分支名> <远程仓库地址>
注:如果clone某个项目只是为了看代码,可以加上--depth 1 选项,
即 git clone --depth 1 -b <指定分支名> <远程仓库地址>,
这样只会clone最近一次提交的代码,可以提高clone速度
在远程分支上新建分支进行开发,
git checkout -b <新建分支名字>
比如此时在main分支上,我想在main分支上进行开发,但直接修改main分支容易出问题,因此在main分支上再拉出一个分支进行开发(可简单理解为复制了一份),那新建的分支就可以随便搞了,等开发完成,再把他合入main分支。
将新建分支推到远程
上面我们只是在本地新建了分支,远程其实还不知道,因此需要把这个分支推到远程,推完之后github项目就会出现一个新的分支。 git push -u origin <新建分支名字>
查看本地分支状态,确认已与远程分支产生关联(其实也没必要)
git branch -vv
进行本地开发
git status 查看本地文件修改状态 git diff <文件名> 查看该文件具体修改内容 git add <文件名> 将文件添加到暂存区 git commit -m "注释" 将暂存区内容添加到本地仓库,并添加注释 git log 查看commit记录 git reflog 查看日志,一般想要恢复到某个commit时,会使用这个命令查看commit的hash值 git reset HEAD^ 将暂存区的文件内容与到上次commit保持一致,工作区保持不变
本地开发完成后,先将远程代码pull到本地,因为远程仓库的代码可能已经修改,并且可能和我们改了同一块代码,这样就会有冲突,需要先解决冲突,然后再将本地仓库的commit记录push到远程,如果不想push那么多commit,也可合并commit之后再push。如果采用PR方式,也不必在本地合并commit,因为merge的时候可以选择合并所有commit。
git rebase -i HEAD~4 合并前面四个 commit 记录 git push origin <本地分支名>:<远程分支名>
如果本地分支和远程分支名字一样,则可直接
git push origin <本地分支名>
如果本地分支已经和远程分支关联(一般就用这个),则可直接
git push origin
在新建分支开发完之后,提交PR,没问题就merge到指定分支中,并在远程删除掉新建的开发分支
在本地换到其他分支,删掉新建的开发分支
git branch -D <分支名>
为了让本地知道远程有些分支已经删了,刷新本地与远程仓库的同步
git remote prune origin
版权归原作者 cc_su 所有, 如有侵权,请联系我们删除。