这就是我所做的:
$ git pull
remote: Counting objects: 446, done.
remote: Compressing objects: 100% (372/372), done.
remote: Total 383 (delta 280), reused 0 (delta 0)
Receiving objects: 100% (383/383), 652.75 KiB | 381 KiB/s, done.
Resolving deltas: 100% (280/280), completed with 43 local objects.
Fast-forward
<list of files and summary of changes>
Run Code Online (Sandbox Code Playgroud)
现在,当我输入 git status 时,git 会显示我删除了存储库中的所有文件,并且我将它们暂存以供提交。它还向我显示所有未跟踪的文件。
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: .... …Run Code Online (Sandbox Code Playgroud) 所以今天早上我遇到了一个奇怪的问题,我想知道社区是否可以帮助我解决这个问题。所以git pull origin master当我想从远程主副本中获取和合并项目更改并将它们带到我的本地主时,我一直在做。
不过,我最近遇到了一些合并问题,所以我做了一个实验——
我一直都git pull origin master这样做,并收到了“已经是最新的”消息。
然后我做了一个正常的git pull然后看到我所有的同事的变化滚进来并与我当地的主分支合并。
为什么 git pull origin master 不起作用,但 git pull 可以?
我想知道由于我发现的这个怪癖,我没有看到多少变化。我已经做了一些研究以找出差异是什么,但是当我看到更改被获取并合并到我的之前用那个方法分支。
想法?
提前致谢。
我有一个子模块,我更改了一些本地文件。原始存储库已被修改,我现在希望对子模块进行拉取,但是我收到一条错误消息,说我将丢失我的更改。
如何强制 git 忽略本地更改并进行拉取?
我知道有很多与此类似的问题,但是我在堆栈溢出中找不到可以回答我的特定问题(特别是子模块)的问题。
仅在 Windows 客户端上观察到该问题,在 OSX 上没有问题。
git pull运作良好。此外,任何存储库都会出现此问题。其他操作(例如获取、提交、推送)工作正常。
哪里有问题?如何修复它?
有时我在文章命令中看到:git pull -p
但我没有在官方文档中找到相关信息
这个选项是什么意思?
UPD
正如@torek 所指出的,该-p选项被传递给git fetch. 而-p在这里是指:
-p
--prune
在获取之前,删除远程上不再存在的任何远程跟踪引用。
但我不明白git-pull 企业是如何合作的git-fetch?
我如何才能弄清楚哪些git选项如何以及哪些选项从一个命令落到另一个命令?
git pull、 git fetch和之间有什么区别git rebase?我感觉pull和fetch是一样的。
我正在 git 的一个分支上工作。我想拉取这个分支并指定 URL。我努力了
git pull origin <branch> <url>
Run Code Online (Sandbox Code Playgroud)
但它说错误“致命:无效的参考规格”
两个命令独立运行时都可以正常工作。
1 )git pull origin <branch>
成功拉取。
2)git pull <url>
从指定的 URL 获取拉取,但改为从 master 分支获取。
我想从指定 URL 中获取 pull,这样它就不会读取 git 的配置文件,而是从“branch”和“url”中获取 pull。
我已经在 github 中创建了一个 repo。中有一些新的拉取请求Upstream。我想在本地从上游拉取请求。
我怎样才能做到这一点?我不知道,也没有发现与此相关的任何内容。
如何使用单个命令获取和合并主存储库并对所有子模块执行相同操作?
我有一个包含子模块B的存储库A。子模块B经常更新,更改并不总是最新的。
我可以通过执行以下操作来更新和合并新更改
cd A/B <-- enter submodule directory
git pull <-- run pull to fetch and !!merge!! submodule changes
Run Code Online (Sandbox Code Playgroud)
我想要做的是运行单个命令来 pull&merge 主存储库,并对所有子模块执行相同的操作。
cd A <-- Now enter to parent directory
git pull --recurse-submodules <-- Fetch&merge changes on main repository
<-- and pull changes on all submodules
Run Code Online (Sandbox Code Playgroud)
实际发生的是:
目前的解决方案是:
cd A
git pull --recurse-submodules
cd B
git merge <-- Now merge fetched changes …Run Code Online (Sandbox Code Playgroud) 是git push与几个提交一个原子操作?
git push同一分支的其他操作git pull来自同一分支的操作对于情况 1. 它必须是。否则我的提交会干扰其他人的提交,可能会造成不一致或无效的状态。Git 通过强迫我首先集成其他人的更改(如果我输掉比赛)或强迫其他人集成我的更改(如果我赢得比赛)来防止这种情况。
但是 2. 呢?如果我的存储库如下所示:
C---D---E master
/
A---B origin/master
Run Code Online (Sandbox Code Playgroud)
有没有人git pull在我做的git push时候看到 A---B 或 A---B---C---D---E,或者他们也能得到介于两者之间的任何东西,例如 A--- B---C---D?