在git push之前更新本地分支

时间:2013-08-25 03:54:16

标签: git github

我在本地分支上工作,并将本地分支推送到我的分叉仓库,然后对原始分支执行拉取请求。只是想学好Github实践。

当我将本地分支推送到Github上的分叉回购时。我想确保我的本地分支是最新的远程源。有什么好办法呢?以下两个中的任何一个都有效吗?两者有什么区别 ?什么时候变基会失败?还是更好的解决?

$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

2 个答案:

答案 0 :(得分:1)

我认为让你的本地主分支等于origin / master,以及当你想要将本地master与本地my_branch合并,或者能够看到diff或某些特定文件等时,这是个好主意。

通过这种方式,您可以完全控制原始代码和代码。 所以假设my_branch是活跃的:

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

不是在最后一步合并,而是只能对主要文件中的特定文件进行差异或签出。

答案 1 :(得分:0)

让您的Fork与您分叉的原始(“root”)存储库及其主分支同步:

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

git pull root master

为了确保您的本地提交与GitHub上的Fork同步,并且在任何远程更改的基础上提交仅限本地提交,请使用rebase选项:

git pull --rebase

然后,您可以使用fork上的所有根存储库更新推送到您的fork,并将您自己的提交放在最上面。

git push