当我尝试在终端中拉入我的项目目录时,我看到以下错误:
harsukh@harsukh-desktop:~/Sites/branch1$ git pull origin master
U app/config/app.php
U app/config/database.php
U app/routes.php
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
Run Code Online (Sandbox Code Playgroud)
为什么git说"Pull is not possible because you have unmerged files",我该如何解决?
我已经克隆了一个存储库,之后其他人创建了一个新的分支,我想开始研究它.我阅读了手册,看起来很简单.奇怪的是它不起作用,我发现的所有帖子都表明我做的是正确的.因此,我会让自己受到抨击,因为这一定有明显的错误:
似乎是正确的行动
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
Run Code Online (Sandbox Code Playgroud)
此时出现问题,由于某些原因git fetch我无法看到dev-gml远程分支.为什么不?如果我新近克隆存储库,它就在那里,所以远程分支肯定存在:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Git分支,它有一些破坏的测试,我想从另一个已经修复的分支中提取(合并更改,而不仅仅是覆盖)这些测试.
我知道我能做到
git pull origin that_other_branch
Run Code Online (Sandbox Code Playgroud)
但这将尝试合并许多其他文件,因为我尚未准备好.
是否可以从另一个分支中提取和合并指定的文件(而不是所有内容)?
这不仅仅是对一个文件的Git pull请求的重复,因为该问题的所有答案都是如何将本地更改的文件还原到存储库版本,而不更改任何分支.
我正在学习git,而且我正在关注Git社区书籍.
以前(很久以前)我在Github上创建了一个公共存储库,包含一些文件.现在我在当前的计算机上设置了一个本地Git存储库,并提交了一些文件.然后我添加了一个指向我的Github页面的遥控器:
[root@osboxes c]# git remote add learnc https://github.com/michaelklachko/Learning-C
Run Code Online (Sandbox Code Playgroud)
这似乎是成功的:
[root@osboxes c]# git remote show learnc
* remote learnc
Fetch URL: https://github.com/michaelklachko/Learning-C
Push URL: https://github.com/michaelklachko/Learning-C
HEAD branch: master
Remote branch:
master tracked
Local ref configured for 'git push':
master pushes to master (local out of date)
Run Code Online (Sandbox Code Playgroud)
现在我想从我的Github repo下载文件到我的电脑.我这样做了:
[root@osboxes c]# git fetch learnc
[root@osboxes c]# git merge learnc/master
warning: refname 'learnc/master' is ambiguous.
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
但是,我在本地目录中看不到任何新文件.我怎么能得到它们?
我也试过这样做:
[root@osboxes c]# git pull learnc master
From https://github.com/michaelklachko/Learning-C
* branch master -> FETCH_HEAD …Run Code Online (Sandbox Code Playgroud) 我创建了一个git存储库来镜像一个实时站点(这是一个非裸的git存储库):
git clone --mirror ssh://user@example.com/path/to/repo
Run Code Online (Sandbox Code Playgroud)
现在,要保持此镜像克隆更新其远程源的所有更改,我必须使用哪个或哪些命令?
我想保持一切更新:提交,引用,钩子,分支等.
谢谢!
我从GitHub上的回购中分得一杯羹.我想从另一个用户的fork上的分支获取代码.
我必须将此用户的整个仓库克隆到单独的本地仓库,还是可以执行类似的操作git checkout link_to_the_other_users_branch?
我已经在git中设置了一些远程跟踪分支,但是一旦我用'git fetch'更新它们,我似乎永远无法将它们合并到本地分支中.
例如,假设我有一个名为'an-other-branch'的远程分支.我在本地设置为跟踪分支使用
git branch --track an-other-branch origin/an-other-branch
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是如果该分支得到更新(通常是我移动机器并从该机器提交),并且我想在原始机器上更新它,我遇到了fetch/merge的问题:
git fetch origin an-other-branch
git merge origin/an-other-branch
Run Code Online (Sandbox Code Playgroud)
每当我这样做时,我都会得到一条"已经是最新的"消息,并且没有任何合并.
但是,一个
git pull origin an-other-branch
Run Code Online (Sandbox Code Playgroud)
总是像你期望的那样更新它.
另外,运行git diff
git diff origin/an-other-branch
Run Code Online (Sandbox Code Playgroud)
表明存在差异,所以我认为我的语法错了.
我究竟做错了什么?
编辑[2010-04-09]:我已经检查了几次,我肯定不在另一个分支上.我的'git fetch'后跟'git merge'(如上所示)是否应该与git pull完全相同?我将得到一些显示git状态等结果的工作流程.
我正在使用ruby on rails应用程序,我正在尝试同步一个fork.值得一提的是,我也在Mac上.我做了以下行动:
$ git remote -v
Run Code Online (Sandbox Code Playgroud)
获取我的本地存储库的视图.我试图去的时候搞砸了upstream:
$ git remote add upstream https://github.com/foo/repo.git
Run Code Online (Sandbox Code Playgroud)
什么时候我应该大写Foo:
$ git remote add upstream https://github.com/Foo/repos.git
Run Code Online (Sandbox Code Playgroud)
问题是如何删除,upstream因为每次我尝试更改它,它会回来创建一个fatal错误?
我设置了一个远程存储库,我可以对它进行新的更改,但我无法从中获取,我总是得到(相当神秘的)错误消息:
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我该怎么做才能获取?
(请注意,此远程仓库仅用作备份仓库,因此它应该是我本地存储库的精确副本.我真的无法理解为什么我可以推送它但不能从中获取...)
我的配置看起来像:
[remote "origin"]
url = ssh://blablablah
fetch = +refs/*:refs/*
mirror = true
Run Code Online (Sandbox Code Playgroud) git ×10
git-fetch ×10
git-pull ×5
git-merge ×3
github ×2
branch ×1
fetch ×1
git-branch ×1
git-clone ×1
git-fork ×1
git-remote ×1
mirror ×1
repository ×1