相关疑难解决方法(0)

git fetch不会更新我的本地存储库

我想要的是:

使用我的本地存储库在所有分支中更新服务器的所有新闻提交,但不合并任何分支(只需加入历史记录行).

我正在尝试这个命令

git fetch --force --progress --verbose  name@host:/path/to/repository.git 
Run Code Online (Sandbox Code Playgroud)

我认为它会正常工作,因为它显示:

From host:/path/to/repository
  * branch            HEAD       -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

但是,这意味着什么呢?如果我看到日志,则不会更新.如果我从服务器进行克隆,则所有新提交都在那里.所以...命令不起作用.然后我尝试使用服务器中存在但不在我的本地存储库中的分支

git fetch --force --progress --verbose  name@host:/path/to/repository.git my_branch
Run Code Online (Sandbox Code Playgroud)

结果是:

From host:/path/to/repository
  * branch            my_branch       -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

并且任何成功......即使我不知道所有分支和我的分支都是更新,我想获取此更改并可以在我的日志中看到.

有什么想法吗?

git git-fetch

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

如何在不合并的情况下下载新的远程分支?

我已经在我的Git存储库中的master分支上工作了一段时间.它托管在GitHub上并克隆在我的两台计算机上.现在我在一台计算机上启动了一个新分支并将其推送到GitHub.现在他们知道两个分支,但另一台计算机仍然只知道主分支,而不是功能分支.

当我尝试从GitHub中提取功能分支时,Git会将它合并到我的主人身上,这不是我想要的.

如何从GitHub下载功能分支到我的本地存储库并最终拥有两个分支并且没有合并?我准备将它们合并,而不是现在.

如果可能的话,我对如何处理TortoiseGit很感兴趣.

git

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

JavaScript 中有身份索引值吗?

在 JavaScript 中,对象和数组的值可以像下面这样进行索引:objOrArray[index]。是否存在身份“索引”值?

换句话说:

是否有一个值x使得以下内容始终为真?

let a = [1, 2, 3, 4];
/* Is this true? */ a[x] == a

let b = { a: 1, b: 2, c: 3 };
/* Is this true? */ b[x] == b
Run Code Online (Sandbox Code Playgroud)

此上下文中身份的定义:https: //en.wikipedia.org/wiki/Identity_function

javascript self-reference

18
推荐指数
2
解决办法
2184
查看次数

如何正确执行git merge/pull:你还没有完成你的合并(MERGE_HEAD存在)

我是Git的新手,无法理解如何使用Git.我一直在使用CVS,因此需要为Git学习一些学习曲线.这就是我所尝试的一切

现在我只更改了两个文件PromoServiceImpl.java和build.sql.但是合并有问题从"产品"分支改变了.

您看到的剩余文件(如ApiServiceImpl.java等)是来自其他用户的更改,但我不确定此处的表示是否表明我已更改它们.问题是它在早期的pull命令中合并了,现在它希望我提交它们?

无论我遵循什么命令流(即使在谷歌搜索之后),我都会看到以下错误:

您尚未完成合并(MERGE_HEAD存在)请在合并之前提交您的更改.

这是我遵循和输出的命令序列(试图通过插入新行供每个人阅读来使其漂亮).即使在重新从存储库中进行更改之后,这个错误也会回来,所以我确信我做错了而不是git的一些问题.

kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
# On branch product
# Your branch is ahead of 'origin/product' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Adding
no changes added to commit …
Run Code Online (Sandbox Code Playgroud)

git merge git-pull

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

Git:pull vs. fetch→pull

我从来没有能够得到这个问题的明确答案.

很长一段时间,在同事的建议下,我一直这样做:

git fetch origin
git pull origin <mybranch>
Run Code Online (Sandbox Code Playgroud)

我被告知(并且已经看过)git pull如果你不先做的话,表现不一样git fetch.您没有得到任何远程更改.

但我在网上看到的git pull就是相当于git fetch其后的东西git merge.如果这是真的,那git pull将包括git fetch,我不需要明确的git fetch第一个,对吗?但事实似乎并非如此.

所以我正在寻找的是一些描述观察到的行为的明确文档git pull.(我知道我可能也会提出很多建议切换到git fetchgit merge;这也很好,但我真的很感兴趣git pull.)

git

13
推荐指数
1
解决办法
6958
查看次数

使用 SSH 与 GPG 签署提交有什么区别?

\n

GitHub 现在支持 SSH 提交验证,因此您可以使用自行生成的 SSH 公钥在本地签署提交和标签,这将使其他人对您所做更改的来源充满信心。如果提交或标签具有可加密验证的 SSH 签名,GitHub 会将提交或标签设为“已验证”或“部分验证”。

\n

如果您已使用 SSH 密钥通过 GitHub 进行身份验证,现在可以上传相同或不同的密钥对\xe2\x80\x99s 公钥以将其用作签名密钥。您可以添加到帐户的签名密钥数量没有限制。有关更多信息,请访问GitHub 文档中的SSH 提交验证。

\n
\n

鉴于最近发生的事件,我想知道:使用 SSH 密钥与 GPG 密钥签署提交之间有什么区别?

\n

注意: 这是一个类似的问题,询问 GPG 和 SSH 之间的一般差异。这个问题具体是关于使用其中一种或另一种进行签名之间的区别。

\n

git ssh github gnupg digital-signature

13
推荐指数
2
解决办法
4440
查看次数

git pull vs git-fetch有些困惑

所以 - 有人可以澄清这个:

我跑:

git pull origin master  
git status
Run Code Online (Sandbox Code Playgroud)

然后它就会提出改变并说:

your branch is ahead of origin/master ... blahblah by 6 commits...
Run Code Online (Sandbox Code Playgroud)

当我跑的时候

git fetch
git status
Run Code Online (Sandbox Code Playgroud)

它说:

# On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

所以 - 我认为git pull默认情况下会执行git fetch - 那么为什么它会在没有额外的情况下"提前6次提交" git fetch呢?

git git-pull git-fetch

12
推荐指数
1
解决办法
1021
查看次数

TortoiseGit:"Git Sync","Fetch"和"Pull"之间有什么区别?

我正在从TortoiseSvn迁移到TortoiseGit.但是遇到了一些意想不到的困难.

我的工作范例很简单:

  1. 查看代码
  2. 改变一些代码
  3. 与他人分享以进行代码审查
  4. 提交更改

为什么要在syntactically下面提供3个类似的命令呢?

而且PullFetch甚至共享相同的图标.多么人性化的设计!

在此输入图像描述

git tortoisegit

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

pull-only repo的'git status'表示分支领先于origin/master.为什么?

所以情况如下:

$ git status #On
branch master
#你的分支在[x]提交之前位于'origin/master'之前.
#

关于SO的问题已有几个问题,但似乎没有一个问题专门针对我所拥有的场景类型.其中一个问题的答案最接近,但没有详细说明.

我会直接引用它:

如果在执行"git pull remote branch"后收到此消息,请尝试使用"git fetch"进行跟进.

Fetch似乎更新了远程分支的本地表示,当你执行"git pull remote branch"时不一定会发生这种情况.

这个提示确实有效.但"不一定会发生吗?" 为什么不?我需要了解这一点.什么拉不做?

我不想接管这个问题,所以这是我的详细情景:

涉及三台电脑.我开发的Mac,git repo(即origin/master)所在的家庭服务器以及从该服务器获取的Webfaction帐户.

我提交并且git push origin master仅在Mac上提交.作为正常工作流程的一部分,在Webfaction上运行的唯一命令是git pull origin master(作为Fabric部署脚本的一部分).我不修改那里的代码.我是一个独立的开发者,所以其他任何人都没有.

我偶尔会登录Webfaction并检查一些事情,包括a git status.不可避免地,我总是得到"你的分支在前面......"的信息.跑步git fetch使消息消失.

我将要添加git fetch到Fabric脚本来完成这个问题,但我想知道为什么需要这样做,特别是在源/主的只拉式克隆上.虽然我每天都使用基本功能,但我并不熟悉Git,所以我们将非常感谢新手友好的解释.

按要求更新,相关位来自config:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@[server_address]:[path/to/repo.git]
[branch "master"]
    remote = origin
    merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

git branch git-pull git-push git-fetch

10
推荐指数
3
解决办法
7304
查看次数

用于GIT的Visual Studio工具 - FETCH/PUBLISH与PULL/PUSH

我喜欢使用CLI与GIT进行交互,但我正在尝试理解VS Tools for Git扩展,以便一些不喜欢'CLI'的团队成员受益.

用于Git扩展的VS Tools的UI具有标记的操作FETCH,PUBLISH并且听起来像PULLPUSH,但UI中还有其他操作被标记PULL,PUSH因此猜测很弱.

到目前为止,我认为我的混淆不是与Git混淆,而是与VS的Git工具混淆.我可以在CLI中完成我需要完成的任务,但我永远不会记得做一个FETCH或一个PUBLISH动作.

我有点新的Git的,但这些条款FETCHPUBLISHGit的白话文甚至一部分?

git visual-studio

10
推荐指数
1
解决办法
6946
查看次数