问题标签 [git-fetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

git - Git如何重新确定某些提交?

这是我的树:

我想让它变成

我如何在 git 中做到这一点?

0 投票
1 回答
1321 浏览

linux - 如何在运动鞋网环境中菊花链 git 存储库

我正在为嵌入式应用程序开发一些代码。我的嵌入式系统运行 linux/git 并有一个本地编译器,但它们没有网络硬件或功能。我能够愉快地在这些嵌入式系统上安装 USB 驱动器。

我的桌面 PC 上有我的源代码主(裸)git 存储库,并在存储库的克隆中进行了相当多的开发。简单/基本的 git 工作流程很好。

我的设想是在 USB 拇指驱动器上创建存储库的 --bare 克隆,然后在我的嵌入式系统之间进行网络连接。

我希望每个嵌入式系统上的 git 存储库是 USB 存储库的克隆。

所以我设想的工作流程是这样的:

  1. 在我的嵌入式系统之一上进行一些更改。添加并将它们提交到本地 git clone。
  2. 将 USB 拇指驱动器挂载到嵌入式系统,并将更改从本地存储库推送到拇指驱动器存储库。
  3. 在我的台式电脑上安装 USB 拇指驱动器并将这些提交推送到主/裸存储库
  4. 将更改拉入我的桌面开发树。

然后我想做相反的事情:

  1. 对我的桌面工作 git 树进行更改,添加、提交、将它们推送到主存储库。
  2. 在我的台式电脑上安装拇指驱动器,将主更改拉/取到拇指驱动器上的 git clone 中。
  3. 在嵌入式系统上安装拇指驱动器,将更改拉/取到嵌入式系统上的本地工作树中......

最终目标是能够在我的台式 PC 或我的任何嵌入式系统(没有网络能力)上进行开发更改并保持一切同步。

这可能吗?如果没有大量的 git voodoo,这可能吗?

我已经坐下来解决这个问题了几次,并且不断遇到障碍。我不认为我想要在 U 盘上使用 --mirror 的存储库,因为我希望能够通过 U 盘双向推送更改。

我可以将官方主存储库放在拇指驱动器上,并让我所有的工作副本都指向我想的那个,但这并没有让我对我的主副本的安全性产生温暖的模糊感觉,如果它被埋没了。

我希望我能理解并自己做一些“简单”的事情!

0 投票
1 回答
17392 浏览

git - git pull master 的问题与 origin master 不同步

这些是我执行的步骤顺序:

  1. 将我在分支中的更改提交给本地 master (commit id dc9afg2k)
  2. git fetch origin master && git merge origin master
  3. git checkout master
  4. git pull(这拉动了所有最近的变化)
  5. git fetch origin master && git merge origin master
  6. git reset --hard origin/master
  7. git checkout branch
  8. git blog
  9. git reset --hard dc9afg2k(提交成功)
  10. git checkout master
  11. git log(这又回到了 2 天前)。
  12. git pullmaster不使用当前更新origin/master)。
0 投票
2 回答
59 浏览

git - 了解 git fetches 和你的本地仓库

我读到,在执行 a 之后git fetch,您的本地存储库具有来自原始存储库的所有提交,但它们“尚未集成到克隆存储库的本地分支中”。

这是什么意思/暗示?

然后我是否需要签出我的分支以将更改下拉到我的本地工作副本中?还是暗示别的什么?提前致谢!

0 投票
4 回答
150843 浏览

git - Git 从本地存储库中删除上游

我正在使用 ruby​​ on rails 应用程序,我正在尝试同步一个 fork。值得一提的是,我也在 Mac 上。我采取了以下行动:

查看我的本地存储库。我想去的时候搞砸了upstream

当我应该大写 Foo 时:

问题是如何删除,upstream因为每次我尝试更改它都会返回创建fatal错误?

0 投票
2 回答
888 浏览

git - git 分支包含其他不需要的分支

管理员告诉我在将它们推送到远程之前不要将开发合并到我的分支中,并且我应该基于 master 创建新的分支,这样开发中的任何代码都不会意外地合并到 master。好的,这已经好几个星期了,但是几天前我不小心将开发合并到我的一个分支中。这对管理员来说并没有造成大问题,他只是告诉我不要再这样做了,但从那以后我开始使用“git branch --contains”来确保。

问题:当我获取远程主机并运行“git branch --contains”时,它表明开发是其中的一部分:

这怎么可能??

我看到 3 种可能的解释:

  1. 远程主控在某个时候意外与开发合并
  2. 一些未知的错误
  3. 我没有使用获取的 master 正确更新我的本地分支

  1. 不太可能,因为管理员是一位不可能让这种情况发生的大师
  2. 是我怀疑正在发生的事情
  3. 可能,但我认为这些周我一直在用这段代码正确地做到这一点:

因此,只要开发在 master 中,我就无法创建/推送任何新分支。

知道发生了什么吗?

0 投票
1 回答
3902 浏览

git - 如何仅 git clone 'git' 元数据

我有一个名为 FOO 的远程仓库,它有以下两个修订:

提交1 提交2

我有一个目录'bar',其中包含 commit2 的所有文件,但我缺少 .git 目录和所有元数据。

有没有办法让我只将远程中的 '.git' 元数据“git clone”到我的当前目录中而没有文件?

主要目标是避免浪费时间签出文件,因为我已经有了它们。

有什么建议么 ?提前致谢。

0 投票
2 回答
517 浏览

git - Git blobless repository

I'm wondering if there's a way to get commit and tree objects only from a remote.

This may sound like a silly question, I'm not sure—I'm new to git plumbing. I'm building an app that associates meta-data with git commits, authorships, and file system structure. My options are to build a cludgy in-database normalization of the data with some sort of hook-enabled syncing mechanism, or to use the powerful native git tools for syncing, attaching metadata, and querying history.

However, since I don't actually need the blob objects, it'd save me a buck or two on hosting if I could shed them somehow. Is this or any incarnation of the concept possible?

0 投票
1 回答
1170 浏览

git - 关于 git pull 与 git-fetch 的一些混淆

所以 - 有人可以澄清这一点:

我跑:

然后它会拉出更改并说:

当我然后跑

它说:

所以 - 我认为git pull默认情况下 git fetch - 那么为什么它说“提前 6 次提交”而没有额外的git fetch

0 投票
1 回答
1122 浏览

git - git reset --mixed FETCH_HEAD

假设我有一个名为 repo1 的仓库

在这个 repo 中,我有 5 个修订版,其中 A 是最新的

A B C D E

假设我有一个工作区,其中包含修订版 B 的文件,但出于某种原因 git 认为我处于修订版 C。

我有兴趣拉下 git 元数据,以便我的工作区处于正确状态(例如 git 认为我有修订版 B)但我不想要这些文件

我的第一个想法是运行:

1) git pull -n

2) git reset --mixed B

但是,这会由于合并冲突而失败

我的第二个想法是运行:

1) git fetch -n

2) git reset --mixed FETCH_HEAD

3) git reset --mixed 修订版 B

这是最好的解决方案吗?

谢谢你的帮助。