0

I work on local branches and push local branches to my forked repo and then do a pull request on origin. Just wanted to learn good Github Practices.

When I push my local branch to forked repo on Github. I want to make sure that my local branch is up to date with the remote origin. What is a good way to do this ? DO any of the below two work ? what is the difference between the two ? when the rebase can fail ?Or any better soln?

$git branch
master
*my_branch


$git commit -am "committed"
$git fetch origin
$git rebase origin/master
$git push

$git commit -am "committed"
$git pull --rebase
$git push
4

2 回答 2

1

我认为让您的本地 master 分支等于 origin/master 并且当您希望将本地 master 与本地 my_branch 合并或能够查看差异或某些特定文件等时,这是个好主意。

这样您就可以完全控制原始代码和您的代码。所以假设 my_branch 是活动的:

$git commit -am "committed"
$git checkout master
$git pull origin master
$git checkout my_branch
$git merge master

除了在最后一步合并之外,您还可以仅从主文件中进行差异或签出特定文件。

于 2013-08-25T04:06:21.643 回答
0

要使您的 Fork 与您从其分叉的原始(“根”)存储库及其主分支保持同步:

git remote add root <url-of-root-repository>

git pull root master

为确保您的本地提交与您在 GitHub 上的 Fork 同步,并在任何远程更改之上应用仅本地提交,请使用 rebase 选项拉取:

git pull --rebase

然后,您可以使用 fork 上的所有根存储库更新以及您自己的提交推送到您的 fork。

git push

于 2013-08-25T18:01:52.297 回答