标签: git-fetch

如何克隆,然后与上游主同步/更新/推送分叉

我想我已经阅读了一些教程,但我仍然停留在一些完全基本的东西上(我几乎从不使用命令行 git,所以请耐心等待;))。

我想做的就是从上游存储库将我的 fork ( https://github.com/abelbraaksma/visualfsharp ) 更新到最新版本的 Master ( https://github.com/Microsoft/visualfsharp )。由于我有一些我不关心的本地更改,因此我决定创建一个新的克隆(以前我使用过 GUI 工具,但它们是如此令人困惑和限制,以至于我放弃了它并一头扎进了 git 命令的森林中;)。

我做了:

cd /D/Projects/OpenSource/VisualFSharp2
git init
git clone https://github.com/abelbraaksma/visualfsharp
git fetch https://github.com/Microsoft/visualfsharp
git remote add upstream https://github.com/Microsoft/visualfsharp
git remote add origin https://github.com/abelbraaksma/visualfsharp
git fetch upstream
git checkout master
git merge upstream/master
Run Code Online (Sandbox Code Playgroud)

最后两个命令给出:

git checkout master
已经在“master”上
您的分支已更新为“upstream/master”。

git merge upstream/master
已经是最新的了。

我意识到我做了一些事情的顺序是错误的,而且由于我来自 SVN 和 Mercurial 世界,我经常对术语感到困惑。

我知道目前我处于上游仓库的“master”状态。但我需要从上游存储库合并到原始(我的分支)存储库中。我认为我需要将本地副本更新为我的叉子的头部(但git checkout master没有这样做)。

我基本上尝试遵循本同步指南,并结合配置远程点

我在哪里感到困惑或更好,我得到了什么命令?

git remote -v给我:

origin  https://github.com/abelbraaksma/visualfsharp …
Run Code Online (Sandbox Code Playgroud)

git github git-fetch git-clone git-checkout

4
推荐指数
1
解决办法
3964
查看次数

无法合并分支:拒绝合并不相关的历史记录

我在 Git 上创建了一个新的远程存储库 ('myRepo')。我选中了“添加 README.md”复选框,这也对此“myRepo”存储库进行了提交。

然后我创建一个新文件夹,在其中添加一些文件并执行以下操作:

git init
git add .
git commit -m "init"
git remote add origin https://github.com/jozinho947/myRepo.git

# get the READ.me fetched on the 'origin/master' branch locally
git fetch

# get the READ.me merged in my local 'master' where i'm pointing
git merge origin/master
Run Code Online (Sandbox Code Playgroud)

然后我有这个错误:

fatal: refusing to merge unrelated histories
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我不能这样做,以及如何解决这个问题。

git github git-merge git-fetch

4
推荐指数
1
解决办法
2万
查看次数

为什么git fetch不下载任何东西?

我正在尝试下载我在本地目录上的bitbucket上传的项目.据我所知git fetch,它应该下载项目(但不是merge它).

好吧,我也有一个与我的存储库的连接,这就是我所做的:

在此输入图像描述

这是以下结果git fetch:( 如上图所示)

$ git fetch
remote: Counting objects: 114, done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 114 (delta 6), reused 114 (delta 6)
Receiving objects: 100% (114/114), 10.32 MiB | 2.03 MiB/s, done.
Resolving deltas: 100% (6/6), done.
From https://bitbucket.org/lamtakam/lamtakam
 * [new branch]      master     -> origin/master
Run Code Online (Sandbox Code Playgroud)

但没有下载..!为什么?如您所见,我的本地目录为空(.git文件夹除外).怎么了?

git bitbucket git-fetch

3
推荐指数
1
解决办法
1594
查看次数

Git Pull vs Git fetch哪一个优先?

我知道之间的区别git pullgit fetch.

但我想知道,哪一个是优先考虑的?

因为git pull在我不知情的情况下自动合并.这就是我发现的不同.git fetch不会这样做.还有别的事吗?

git git-pull git-fetch

3
推荐指数
2
解决办法
1万
查看次数

在特定提交处获取 git repo,无需克隆

我正在尝试在不克隆的情况下获取特定提交哈希的 git 存储库!每个示例都想克隆整个存储库。这是有道理的,但我想要的存储库很大,我需要它留下一个小的足迹,因为它与 Docker 镜像一起使用。

提交哈希在 URL 中 - 或者wget可以curl/应该递归获取,但我有一种感觉 github 正在阻止它,因为我得到的只是robots.txt

回购和提交:

https://github.com/phalcon/cphalcon/tree/1d6d21c98026b5de79ba5e75a3930ce7d1ebcd2e

我最好的尝试错误:

git fetch https://github.com/phalcon/cphalcon/ 1d6d21c98026b5de79ba5e75a3930ce7d1ebcd2e
error: Server does not allow request for unadvertised object 1d6d21c98026b5de79ba5e75a3930ce7d1ebcd2e
Run Code Online (Sandbox Code Playgroud)

更新

使用克隆的答案建议并不能回答问题。我可以克隆/结帐没有问题。尝试在本地没有整个存储库的情况下执行此操作

git github git-fetch git-remote

3
推荐指数
1
解决办法
3203
查看次数

调用 git fetch 后如何查看更改的文件

如果两个人在 github 上的同一个存储库和同一个分支 master 上工作。然后说 A 将他们的更改推送给 master,而我作为 B,我如何在调用后检查更改的文件git fetch

如果我做:

git fetch
git merge master origin/master
Run Code Online (Sandbox Code Playgroud)

我得到这一行:

aa@DESKTOP-KQQ0A3T MINGW64 ~/..
$ git merge master origin/master
Merge made by the 'recursive' strategy.
 src/main.js | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
Run Code Online (Sandbox Code Playgroud)

我喜欢src/main.js以这种方式描述差异的方式,但该信息仅在我合并时出现,所以我的问题是,在进行合并之前,我应该使用什么命令来查看有关差异的相同信息?

git git-merge git-fetch

3
推荐指数
1
解决办法
3435
查看次数

如何将本地存储库上的 URL 从 GitLab 更改为 GitHub?

我在 GitLab 上有一个存储库,我也在 GitHub 上发布了它。

到目前为止,我使用的所有 Git 命令都在 GitLab 上进行了更改。但是,我希望在 GitHub 上进行这些提交。

我试过命令:

git remote set-url origin git@github.com:repo-url
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何设置 URL 以便命令可以在 GitHub 而不是 GitLab 上运行吗?

git git-pull git-push git-fetch git-remote

3
推荐指数
1
解决办法
3778
查看次数

从子模块获取远程内容找不到分支

我有一个 GitHub 存储库,我将其作为另一个存储库的子模块克隆到我的计算机上。

我在本地拥有所有文件和提交,但在远程,我的 git 客户端认为没有任何分支。(git branch -r什么也没显示)

git fetch origin给出这个结果:

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
From https://github.com/Estecka/ChainMaths
 * branch            HEAD       -> FETCH_HEAD

Completed successfully.
Run Code Online (Sandbox Code Playgroud)

但实际上,我仍然没有找到任何分支。

尝试推送我的本地更改成功,我可以看到我的更改反映在 GitHub 网站上,但即使如此,我的 git 客户端仍然无法在远程找到任何分支,即使是刚刚推送的分支。

这不是我第一次遇到子模块的问题,而且我从未在经典存储库中遇到过它。

git git-fetch git-submodules

3
推荐指数
1
解决办法
1398
查看次数

源分支是目标分支后面的两次提交

在 IntelliJ 中,我正在从一个名为 的远程分支开发一个新分支stage。我的分行叫PM-43655-stage. 我承诺了我的改变并做到了git push -u origin PM-43655-stage。它创建了一个到分支的合并请求stage。现在它显示源分支比目标分支落后 2 个提交。

但不存在合并冲突。

我对git pull和感到困惑git fetch,我不知道在这种情况下该怎么做。

git git-pull git-fetch

3
推荐指数
1
解决办法
3万
查看次数

如何在"远程"本地分支上进行变形操作?

我是git的新手,我一直在关注这个教程.

在我到达远程存储库之前,我想我理解了大部分内容.关于我理解的远程存储库的唯一概念是git fetch和git remote.根据该教程,git fetch通过git remote的add选项从指定的url获取远程存储库.它将存储库下载到"远程"分支.如果我理解正确,它不是远程存储库中的分支,而是我从远程存储库下载的分支.它还不是我本地存储库的一部分,它仍然可以合并/重新绑定到它(我的本地存储库).也许我错了,我在这里遗漏了一些东西,请随时纠正我.

现在,我觉得我根本不理解的是git如何设法将"远程"存储库重新绑定到我的本地存储库中.

我理解当我对一个分支进行rebase时,它会将该分支中的提交基于它最初分支的不同提交.我仍然需要将分支合并到我的主分支中.我做的时候会发生什么?

git checkout master 
git fetch origin
git rebase origin/master
Run Code Online (Sandbox Code Playgroud)

难道这不会将我的本地主分支变成远程主分支吗?我一直在想这张照片.

而不是功能我将拥有我的本地主分支而不是主,我将拥有远程origin/master分支.除了Master没有真正分支出原点/主人.

这不会删除我当地的分公司主人吗?这不会将我的所有工作都转移到"远程"存储库吗?另外,在将其推送到真正的远程存储库之前,我不需要合并回来?

git git-rebase git-fetch git-remote

2
推荐指数
1
解决办法
179
查看次数