标签: git-fetch

拉/取时 Git 进度表

这是我的问题:

当我对某个大型存储库进行 pull/fetch 时,我想在控制台以外的其他地方显示进度(例如在网站上)我知道在 git 1.7.1.1 中有选项 --progress 但我不能使用这个版本并且必须与 1.6.0.4 保持一致

有没有人知道如何观看 git fetch/pull 进度(例如如何提取当前的下载百分比)

git git-fetch

5
推荐指数
1
解决办法
3855
查看次数

git fetch 使用路径而不是远程

我理解运行的想法git fetch <remote>,因为远程分支可以通过git checkout <remote>/<branch>.

但是如果我只是运行它是如何工作的

git fetch path/to/other/repo
Run Code Online (Sandbox Code Playgroud)

如何结账对应的分行?请注意,该操作以静默方式运行(即使使用--verbose),并且不会创建新分支。

编辑:只是要清楚:我完全理解 git 如何与遥控器一起工作。我只是对这种替代语法感到好奇git fetch path/to/remote,或者git fetch <url>. 它应该如何工作?为什么它不创建新分支?为什么即使在详细模式下它也会静默运行?预期用途是什么?

git git-fetch git-remote

5
推荐指数
1
解决办法
2430
查看次数

Git:`git fetch`报告的数字是什么意思?

运行git fetch时,会给出一些数字:

$ git fetch upstream
remote: Counting objects: 77, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 47 (delta 19), reused 39 (delta 11)
Unpacking objects: 100% (47/47), done.
From http://github.com/jbossas/jboss-as
ef19bd4..b5015c1  master     -> upstream/master
Run Code Online (Sandbox Code Playgroud)

它们有用吗?我想知道例如在该遥控器中发生了多少次提交.这似乎不包含在这些数据中(在这种情况下,它是5次提交).
(我知道我可以看到日志或其他任何东西;只是想知道那是什么.)

git git-fetch

5
推荐指数
1
解决办法
156
查看次数

使用 jgit 获取 Git 失败:远程没有可用于获取的 &lt;branchname&gt;

我有一个位于 的裸仓库main.git,我试图foo在另一个仓库中获取一个分支(比如说)test,它刚刚被git init'd:

fetchtest/
  |- main.git/
  |- test/
       |- .git/
Run Code Online (Sandbox Code Playgroud)

定期使用Git命令,我可以做一个git fetch ../main.git foo:foo,这将创建一个新的分支footest/,并获取了分支所需要的对象。然后我想做同样的事情,但使用 JGit 以编程方式,即不使用 git CLI 而只使用 Java 代码。我无法使用 git CLI:

Git git = Git.init().setDirectory(new File("fetchtest/test/")).call();

git.fetch().setRemote(new File("../main.git"))
           .setRefSpecs(new RefSpec("foo:foo"))
           .call();
Run Code Online (Sandbox Code Playgroud)

但它只是错误:

org.eclipse.jgit.api.errors.TransportException: Remote does not have foo available for fetch.
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:137)
    // ......
Caused by: org.eclipse.jgit.errors.TransportException: Remote does not have foo available for fetch.
    at org.eclipse.jgit.transport.FetchProcess.expandSingle(FetchProcess.java:349)
    at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:139)
    at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:113)
    at …
Run Code Online (Sandbox Code Playgroud)

java git version-control git-fetch jgit

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

Git使用普通名称获取一次分支,并使用大写字母获取一次

我正在寻找远程分支并陷入某种循环.

我取一次然后得到:

$ git fetch
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

然后我再次获取并得到:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
Run Code Online (Sandbox Code Playgroud)

相同的分支但有资本S.

我试图从以下文件夹中删除该文件.git/refs/remotes/origin/minorRelease,但是当再次获取时,我得到两个并返回上面的循环:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

git case-insensitive remote-branch git-fetch

5
推荐指数
1
解决办法
3506
查看次数

从远程git repo获取特定提交

因此,我基本上要做的是从一个远程仓库下拉一个给定的提交(由其SHA标识),然后将其作为新分支(其名称我自动生成)推送到另一个远程仓库.源代码将会有所不同,这些都是一次性操作,所以我不想git remote add这些遥控器,我不想为提交创建引用/分支.而且我不想改变任何本地分支机构的HEAD.

那么,我如何才能获取给定的远程提交(以及对我来说是新的任何父提交)并将它/它们添加到我的本地git数据库中?

git pull 隐含地涉及合并或变基,所以这是不可能的.

我试过了,git fetch https://github.com/foo/bar.git 7d0969daba1fdf9d5bb9bc9a2847fd1bc1c7e426
但这只是导致
error: no such remote ref 12819ad8e10e5906df5352d7d8fec1fceb1f3afc
(是的,我确认在那个遥控器上存在提交SHA;看起来git在这里不接受SHA).

我的意思是,我想我可以想出一个任意的本地分支名称,以便始终将提交下拉,然后在每次推送后删除该分支,但这似乎是不优雅的......

git git-fetch

5
推荐指数
1
解决办法
4057
查看次数

"git fetch <url>"和"git add remote upstream <url>"后跟"git fetch upstream"有什么区别?

我试图将上游的变化拉到我的前叉.我试过了git fetch https://github.com/someuser/someproject,但它固执地拒绝做任何事情.它只是说了一些完全神秘而没有做的事情,即:

From https://github.com/someuser/someproject
 * branch            HEAD       -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

但是当我将URL添加为命名远程时,事情发生了变化:

> git remote add upstream https://github.com/someuser/someproject.git
> git fetch upstream
remote: Counting objects: 340, done.
remote: Compressing objects: 100% (268/268), done.
remote: Total 340 (delta 145), reused 18 (delta 16), pack-reused 44
... etc ...
Run Code Online (Sandbox Code Playgroud)

那有什么区别?为什么在没有先添加遥控器的情况下指定遥控器时什么都不做?当我尝试从URL中获取时,它到底告诉我的是什么?

git git-fetch

5
推荐指数
1
解决办法
527
查看次数

Git 会克隆、获取或推送孤立提交吗?

当父提交图中没有包含它们的标签或分支时,就会创建孤立提交。例如,如果你犯了一个分支foo,添加提交ab,然后删除分支(即删除引用foo从提交b),那么这两个ab,除非你救了他们的哈希值将是不可到达的。

x-x-x-x   <- master
     \
      a-b  <- foo (reference then deleted or reset to somewhere on master)
Run Code Online (Sandbox Code Playgroud)

孤立提交的基本 Git 行为是最终垃圾收集并删除它们(我听说默认至少是 30 天)。

我的问题是这样的:

将以往的Git从一个回购移动孤儿提交到另一个使用git clonegit fetchgit push命令?

或者 Git 是否有效地忽略了任何不直接调用孤儿哈希(例如checkoutcherry-pick)的操作的这些提交?

git git-push git-fetch git-clone orphan

5
推荐指数
1
解决办法
1347
查看次数

使用所有远程分支更新所有本地分支

如何用所有远程分支覆盖所有本地分支?

这是我当地的分支机构:

client-side-js-framework
client-side-js-framework-2
client-side-js-framework-3
handlebars
master
Run Code Online (Sandbox Code Playgroud)

还有我的远程分支:

client-side-js-framework
handlebars
master
no-network-connection
Run Code Online (Sandbox Code Playgroud)

我希望我的本地分支能够镜像我的远程分支,因为我的远程分支更加最新。换句话说,我当地的分支机构应该是:

client-side-js-framework
handlebars
master
no-network-connection
Run Code Online (Sandbox Code Playgroud)

这可以通过一个(或两个)命令来完成,而不是基本上删除我的本地存储库并重新克隆它吗?

git github git-pull git-fetch

5
推荐指数
1
解决办法
3829
查看次数

为什么 git fetch 不创建本地分支?

据我了解,每当您运行远程对象时,都会在本地下载远程对象,并创建一个名为远程分支提交的轻量级git fetch指针。FETCH_HEADHEAD

由于分支只是一个指针,这与创建本地分支有什么不同?哪些设计考虑因素支持在使用时不创建本地分支的情况git fetch

git git-fetch git-branch

5
推荐指数
1
解决办法
2054
查看次数