Git:从分叉回购中拉出来并推到我的前叉

时间:2016-03-01 20:50:08

标签: git github

我已经分配了一个git repo(称之为上游),我在我的github上有一个分叉的副本(称之为原点),我的机器上有一个本地的fork副本。我想让我的叉子与原始回购保持同步。

该项目有几个分支机构,我可能会在一天内处理其中任何一个分支机构。我查看了我的本地分支副本,我想用来自upstream / branch的最新更改来更新它,然后将这些更改推送到origin / branch,以便一切都是最新的。

有没有办法设置分支从远程拉出但是推送到原点?我现在可以通过手动将跟踪的分支设置为上游/分支,执行git pull,然后手动将跟踪的分支设置为origin / branch并执行git push来实现。这有效,但看起来很笨拙。有更清洁的方法吗?

2 个答案:

答案 0 :(得分:2)

IMO在这种情况下,我更喜欢我的pushpull语句是明确的,即使它的输入更多一些。

例如,我不会依赖跟踪分支等内容,而是使用以下形式:

git push|pull <remote> <branch>

示例:

# pull from remote
git pull remote master

# push to origin
git push origin master

这样,我相信我已经从/向正确的位置拉/推。

如果这似乎是太多的输入,你总是可以定义一个别名:

git config --global alias.pullr "pull remote master"
git config --global alias.pusho "push origin master"

并调用这样的别名:

git pullr
git pusho

运行这些git-config命令后,您可以在~/.gitconfig文件中修改别名。

答案 1 :(得分:0)

虽然我通常也使用Jonathan的方法,但你完成问题所描述的方式是:

git remote set-url --push REMOTE_NAME URL_OF_ORIGIN_FORK

例如,如果您的遥控器名为&#34;上游&#34;,您会说:

git remote set-url --push upstream URL_OF_ORIGIN_FORK

这会使git push向&#34; origin&#34;发送更改并且git pull将从&#34;上游&#34;。

获取更改