我在本地分支上工作,并将本地分支推送到我的分叉仓库,然后对原始分支执行拉取请求。只是想学好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
答案 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