Fork的项目如何跟源保持一致
背景是这样的 我从别人的仓库fork了一份到自己的仓库 然后在自己的仓库里新建分支并且在上面进行工作
现在别人的仓库主干更新了 我需要更新到本地并且提交到自己的仓库
看了网上的方法说用 git remote add name location
然后 git pull name master
然后在 push 到自己的仓库里
但是我push的时候就这样了 小白求问
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你想要更新你的fork的master branch,你应该先
git checkout master
, 然后再pull。这样pull之后就可以push 到origin master
了。如果你只是想更新一下你当前的
wuninghan.ban
branch:如果你当前的修改还没有commit,那就先
git stash
。如果已经commit 过,就接着进行下一步。这时候可以用git status
来查看Staging Area是否有代码。这一步做法可以由很多种,我习惯是先
git fetch --all
,然后git rebase ruoxue/master
。当然,你也可以直接git pull --rebase
,一个道理。如果你在第一步stash了,那么这时候就
git stash apply stash@{0}
(理论上是0,如果你做了上面一次stash)如果第二步有conflicts,处理就好了。
就拿vuejs-templates/webpack来做例子,因为自己就在fork这个vue项目模板做改动
再来我觉得这个项目有其特殊性,它的主分支并不是
master
,而是dist
,而加载模板的工具vue-cli默认会下载dist
分支下的文件作为项目模板.这就有以下情况
为了方便,还是直接在
dist
上进行改动,这样使用vue-cli可以敲少几个字而在
dist
上进行改动,实际是出于自己的需求,并不希望提交pr
给original repo
,同时又希望能有一个分支用于保持跟original repo
一致,且同时用于提交pr
我会在fork之后在
dist
分支的基础上新建一个track-1
分支具体步骤如下
好像还是略显繁琐,不知道这样的流程是否合理