我知道git fetch --tags会将所有标签从远程获取到本地。
我不确定git pull默认情况下是否会从远程获取标签,所以会吗?
起点:我已经创建了一个分支master并在本地进行了提交。在我的分支工作期间,其他提交已被公关到master......
然后我在本地要做的是git checkout master,git pull然后检查我的分支机构并git rebase master
我的理解是 - 此时 - 我在分支上工作时所做的所有提交都将在这些master提交“之后”应用。
我的理解git pull --rebase是它的作用正如我上面所描述的那样。我的问题是(假设这是正确的)如何知道git pull --rebase我正在基于哪个分支?
在上面的步骤中,我已经重新建立了HEADof 的基础master,而大多数git pull --rebase解释似乎都集中在对同一分支(而不是原始的master)的提交进行重新建立基础。
我的典型步骤明确:
git clone <path>
cd <dir>
git checkout -b feature/my-branch
<make changes>
git add .
git commit -m "some message"
git checkout master
git pull --all
git checkout feature/my-branch
git rebase master
**git …Run Code Online (Sandbox Code Playgroud) 我有一个设置,我在我的local机器上编码并从我的盒子中取出它dev来测试它。假设我在 上的A分支上创建一个提交,并在开发盒上创建一个分支,其上游设置为。如果我在开发盒上执行from 分支,则 的分支树将与 相同。foolocalfoolocal/foogit pullfoodev/foolocal/foo
A但如果我现在修改中的提交local/foo,git pull来自foo开发框上的分支会产生合并冲突。而git pull --rebase工作正常并且不会A在 上重复提交两次dev/foo。
git help pull说:
-r, --rebase[=false|true|merges|preserve|interactive]
When true, rebase the current branch on top of the upstream branch after
fetching. If there is a remote-tracking branch corresponding to the upstream branch
and the upstream branch was rebased since last fetched, the rebase …Run Code Online (Sandbox Code Playgroud) 这是我在重新设置当前分支同时保持本地分支不被压扁时通常会做的事情:
git fetch origin
git rebase -r origin/develop
Run Code Online (Sandbox Code Playgroud)
-r是--rebase-merges,我更喜欢--preserve-merges
我的问题是:有没有办法在做的时候通过这个git pull --rebase?
例如 - 我想像这样运行上面的命令的等价物:
git pull --rebase=rebasemerges origin develop
代替:
git pull --rebase=preserve origin develop
**编辑:好的 - 看起来像 2.22,--preserve-merges正在被弃用而支持--rebase-merges. 这是因为git rebase- 手指越过变化被延续到git pull --rebase
我一直在做一个项目,并且一直在将代码推送到我在远程 git 存储库上的 dev 分支。同时,在主分支中引入了一些我需要获取的更改。所以我使用了以下路线:1 - git checkout master 2 - git pull 3 - git checkout my_dev_branch 4 - git merge master
现在,当我将我对拉取请求的更改提交到 master 时,它表明我执行的合并是 foxtrot 合并。我是否应该恢复或重置这个较早的合并提交,然后手动从 master.js 中获取这些更改。或者有没有其他可用的解决方案。
目前,我一直希望在合并之前恢复到提交,但这篇文章在这里“ https://mirrors.edge.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty- merge.txt ” 呈现出一幅相当阴郁而复杂的画面。我不希望它是一项复杂的任务。这个答案(如何恢复已经推送到远程分支的合并提交?)是否足够好?谢谢你们。
从 GIT 分支提取更改时出现以下错误......
无法统计“somelongfilename.sql”:文件名太长
作为解决方案,我尝试添加longpaths = true到 gitconfig 文件。该文件位于系统默认文件夹中,我无权编辑该文件。
我正在这里寻找快速解决方案。除了编辑 gitconfig 文件之外,还有其他方法可以解决此问题吗?
我克隆了一个存储库"Rep"并创建了我自己的本地分支"Li".我已将一个名为"task.js"的文件提交给本地"Li"分支,并将其推送到远程"Li"分支.现在我想通过以下方式恢复此操作:
我试图阅读几个"拉"教程,但无法找到一种方法来做到这一点(也许是因为我还没有真正理解基础知识......)
谢谢,李
我需要能够拉到一个我可能不在的分支(实际上,为了论证而假设我不知道我在哪个分支).例如,我有一个origin带有分支的遥控器,该分支master由本地master使用跟踪分支以常规方式在本地跟踪.我可以提供的选项或参数git-pull与切换master,拉动,然后切换回我开始的任何分支具有相同的效果吗?
这里的许多答案表明这是不可能的,但是文档对<dst>under 的讨论<refspec>暗示了类似的东西
git pull origin master:master
Run Code Online (Sandbox Code Playgroud)
会做的.是这样吗?
我有一些尚未推送的提交。但是存储库中有几个新的提交。我想提取新的提交并推送我的提交,但是我不确定执行此操作的正确方法是什么。如果我按原样进行拉动,但我认为它会尝试合并,并且我不确定提交的内容,请提出针对这种情况的解决方案。