Git仓库交互流程方法
目录
简单Git仓库交互
一般小项目交互
|
|
大型项目Git仓库交互
Fork原项目
一般的Git仓库自带,将其复制一份到自己的仓库,称为Remote
拉取代码
拉去自己仓库的Remote代码,本地称为Local
|
|
开发
提交(合并)
- 第一种:将自己仓库中原来fork的项目删掉 (delete deletethis repository),然后在重新到原作者仓库中(fork)一份最新代码(不推荐方式),这似乎达到了我们的最终目的,但是自己改变的代码没合并进来。
- 第二种:在本地建立两个库的中介,把两个远程库都clone到本地,然后拉取原项目更新到本地,合并更新,最后push到你的github就完成。(推荐方式)
第二种实现
查看关联仓库信息
|
|
添加原仓库关联
|
|
upstream相当于一个别名,名字随便取。
再次查看关联仓库信息
|
|
获取原仓库代码
这时有两个远程分支,我们继续 fetch,然后把原项目更新的内容fetch到本地
|
|
查看下分支
|
|
一个本地分支master,三个远程分支,画红线的就是要合并的 merge
|
|
冲突
如果有冲突的话,需要丢掉本地分支
|
|
提交
这时你的当前本地的项目变成和原作者的主项目一样了,可以把它提交到你的GitHub库
|
|
合并到原仓库
发起合并请求
以GitHub为例,先点击Pull requsets(1),再点击New pull requset(2)创建合并请求
选择本地和远程仓库(1)(2),点击Create pull requset发起合并请求,等待原仓库作者测试同意合并即可
至此项目提交圆满结束
再次接到开发任务后(第二种实现)
Loop
先更新原仓库
1
git fetch upstream
切换自己开发分支
1
git checkout master
将原仓库合并到自己仓库分支
1
git merge upstream/master
将更新推送到自己的Remote
1 2 3
git add [.][-u][-A][-all] git commit -m "这是个标签1" git push [origin {master}]
是否合并
有开发内容则发起PR,无开发内容(仅更新原作者代码)直接跳过此步骤
开发
1
……
End Loop
如此仅需从获取源仓库代码开始循环即可
循环