标签: git-fetch

如何将上游分支的更改合并到我的分支分支

我想从上游存储库的分支中提取更改。我已经使用以下命令设置了上游存储库:

git remote add upstream http://URL-of-master-repo.git 
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用来拉取更改

git checkout my-local-branch
git fetch upstream remote-branch
git merge upstream/remote-branch
Run Code Online (Sandbox Code Playgroud)

但文件仍然没有出现在我的磁盘上,但我遇到了冲突:

Auto-merging minimal-build-config.cmake
CONFLICT (content): Merge conflict in minimal-build-config.cmake
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

如何正确解决冲突以便能够从上游分支获取文件?

git merge git-fetch

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

git裸存储库中的"fetch --all"不会将本地分支与远程分支同步

我正在尝试定期同步git裸存储库,我的本地分支使用"--track"选项创建.这是我的配置(没有不必要的东西):

[core]
        bare = true
[remote "origin"]
        url = git@github.com:Ummon/D-LAN.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "website"]
        remote = origin
        merge = refs/heads/website
Run Code Online (Sandbox Code Playgroud)

我必须使用'cp'命令来更新本地分支:

 git fetch --all
 cp -r refs/remotes/origin/* refs/heads
Run Code Online (Sandbox Code Playgroud)

有更优雅的解决方案吗?

git git-fetch git-bare

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

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仓库中拉出一个目录

我有一个git repo,我想做一个拉.git pull没有任何问题,我做正常.问题是我只想要一个特定的目录.我的想法是我可以使用.gitignore这样的规则的文件:

#Ignore all files
/
#Except the one I want
!/temp
Run Code Online (Sandbox Code Playgroud)

问题是这不起作用.这是正确的方法还是有更好的方法?

git git-pull git-fetch git-checkout

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

如何嵌套git存储库; 获取并合并

所以我有两个git回购.第一个是我们的框架(想想数据库抽象,函数),然后是我们新项目的另一个git repo.

我想将框架git repo包含到项目git中,并且根据GitHub帮助,这应该工作:

 cd /project
 git remote add framework git://github.com/username/Framework.git
 git fetch framework
 git merge framework/master
Run Code Online (Sandbox Code Playgroud)

问题是,当我进行合并时,它会从框架中提取所有文件,并将它们简单地转储到项目的根目录中.相反,我们怎样才能将框架文件合并到子目录中/project/framework/

git version-control git-merge git-fetch

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

Git fetch/pull已停止工作

Git fetch和pull都在昨天停止工作在服务器上(AWS实例).

$ git fetch
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

该实例上有两个存储库克隆,两者都给出了相同的错误.git仍然适用于本地PC.

git remote -v在本地PC和服务器上提供相同的结果; ssh git@github.com按预期工作("嗨(名字)!您已成功通过身份验证,但GitHub不提供shell访问权限.")

行为有一个区别:git pull origin st+ [Tab]用于扩展到分支名称; 现在它扩展为当前目录中文件的名称(文件名与分支名称不同).

更新:我尝试重新创建远程:SSH版本仍然失败,但HTTP工作.

根据git邮件列表中的这个讨论,这实际上是GitHub网站上的一个问题.

UPDATE

输出 GIT_TRACE=1

############# Local results #############

$ GIT_TRACE=1 git fetch
setup: git_dir: .git
setup: worktree: c:/Projects/(local_path)
setup: cwd: c:/Projects/(local_path)
setup: prefix: (null)
trace: built-in: git 'fetch'
trace: run_command: 'ssh' 'git@github.com' 'git-upload-pack '\''(username)/(reponame).git'\'''
Enter passphrase for key '(keyname)':
trace: run_command: 'rev-list' '--quiet' '--objects' …
Run Code Online (Sandbox Code Playgroud)

git github git-fetch

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

git fetch --unshallow给出:"致命: - 完整存储库中的--unshallow没有意义"错误

我无法使用plain克隆远程存储库

git clone path 
Run Code Online (Sandbox Code Playgroud)

我收到了错误"The remote end hung up unexpectedly".我得到的完整信息是:

Cloning into 'xyzabc'...
remote: Counting objects: 4328, done.
remote: Compressing objects: 100% (3861/3861), done.
select: Not enough memory2192/4328), 123.71 MiB | 164.00 KiB/s
ffatal: The remote end hung up unexpectedly
atal: early EOF
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)

我在网上寻找一个解决方案,在尝试了所有其他解决方案后,我们做了以下解决方案:

git clone --depth=1 path
Run Code Online (Sandbox Code Playgroud)

其次是

git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)

现在克隆完全完成了.但是,当我尝试运行git fetch --unshallow来接收整个项目时,我收到错误:

fatal: --unshallow on a complete repository does not make sense
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办请指导

git github git-fetch git-clone gitlab

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

Git Fetch在Windows中返回'致命:我不处理协议https'

刚添加远程仓库后,我尝试了git fetch remoteRepoName但是它返回了这个错误:

fatal: I don't handle protocol 'https'

我探讨了相关的问题,但其中大部分属于git clone这样,所以他们的答案在我的案例中不起作用.这是一个截图:

在此输入图像描述

windows git github git-fetch

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

git fetch的奇怪行为

GIT fetch我遇到了一个大问题......看看这个

$ git fetch
From server:project
   422b4cb..a04c062  master     -> origin/master

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

而另一个git fetch:

$ git fetch
From server:project
 + a04c062...422b4cb HEAD       -> origin/HEAD  (forced update)

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

而另一个......

$ git fetch
From server:project
   422b4cb..a04c062  master     -> origin/master

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release …
Run Code Online (Sandbox Code Playgroud)

git commit rebase git-fetch git-checkout

9
推荐指数
2
解决办法
1346
查看次数

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

这些是我执行的一系列步骤:

  1. 将我在分支中的更改提交到本地主服务器(提交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 pull(master不是用当前更新origin/master).

git git-pull git-fetch git-branch

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