“ Git Pull Force ”、“ git重置分支到原点”或者换句话说,拉出远程分支来覆盖本地分支,似乎是被广泛搜索的功能,尽管本地很少有下降,但人们对它的兴趣却越来越大。
\n对于不断壮大的团队和不断增加的开发人员数量来说,这绝对有意义。
\n\n目前,最短的工作解决方案非常冗长并且需要分支知识
\ngit reset --hard origin/<branch_name>\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n
不幸的是,因为输入以下内容要快得多
\ngit pull\nRun Code Online (Sandbox Code Playgroud)\n然而,这也带来了其自身的挑战。历史分歧、合并冲突等等……
\n我们确实有这样的简写
\ngit push origin HEAD -u --force\nRun Code Online (Sandbox Code Playgroud)\n它将本地分支推<branch_name>送到原点,覆盖同名的远程分支<branch_name>并将其设置为自己的上游分支。
然而,没有这样的--force/ reset\xc2\xa0 替代git pull。
将此功能添加到git 的最佳方式是什么?
\n我从两个主要位置推送代码:我家里的电脑和工作中的笔记本电脑.我使用Github来存储我的回购.
这是一个场景:我在我的PC上做了一些工作,我已经工作了一段时间(在我的电脑和我的笔记本电脑中),并以下列分支结束:
$ git branch
* master
* v123
* test-b
Run Code Online (Sandbox Code Playgroud)
我把它推到了Github.到现在为止还挺好.
现在我在我的笔记本电脑上,这是我在尝试拉动任何东西之前看到的:
$ git branch
* master
* v_123
Run Code Online (Sandbox Code Playgroud)
这是我的笔记本电脑中的旧版本(因为我一直在我的电脑上工作),其中存在以下差异:缺少分支(test-b),另一个已重新命名,或等效删除并重新创建一个新名称(即:v_123现在是v123),并且许多事情可能在所有分支中都发生了变化.
我想将我的所有分支同步到我的笔记本电脑中并正确跟踪它们.我已经看了两个最先进的投票问题,关于分支克隆/取回(如何克隆所有远程分支机构Git中?,如何获取所有的Git分支)和现在我有点失落.
是否有一些易于使用的git sync-branch --all命令可用于将我的笔记本电脑与Github中最新的repo状态同步?
我有2个遥控器-原产地指向我的叉子和上游到公司回购该点。
$git remote -v
origin https://github.com/me/app.git (fetch)
origin https://github.com/me/app.git (push)
upstream https://github.com/company/app.git (fetch)
upstream https://github.com/company/app.git (push)
Run Code Online (Sandbox Code Playgroud)
我分叉前一个月。我一直在推动原点,然后向上游提出拉取请求。这很好。
现在有人在上游创建了一个名为“3D_Theory”的分支,我想首先将该新分支反映到我的原点,然后从该分支开始工作。但出于某种原因,该分支并没有反映在我的起源中。
我尝试了以下方法:
git remote show origin
>> does not list 3D_Theory
git remote show upstream
>> lists 3D_Theory
Run Code Online (Sandbox Code Playgroud)
我试过:
git fetch upstream
git checkout master
git merge upstream/3D_Theory
Run Code Online (Sandbox Code Playgroud)
但是我仍然没有在我的叉子上创建那个分支。如何在上游获得一个新分支以反映我的分叉?
谢谢
以下类似问题都没有帮助我:
是否有一个 git 命令可以强制对存储库的每个分支执行git pull ,从而覆盖我的本地分支?
我想避免 bash 脚本在每个远程分支上迭代并提取最后的更新...提前致谢!