相关疑难解决方法(0)

Git获取远程分支

我的同事和我在同一个存储库上工作,我们已经将它分成两个分支,每个分支在技术上用于不同的项目,但是它们有相似之处,所以我们有时会想要master从... 返回到*branch.

但是,我有branch.我的问题是,我的同事怎么能专门拉那个分支?

一个git clone回购似乎并不在本地创建分支的他,虽然我可以在我结束推后住上unfuddle看到它们.

此外,当我最初创建分支时,我做了-b checkout.不确定这是否有很大的不同?

$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

$ git fetch origin discover
$ git checkout discover
Run Code Online (Sandbox Code Playgroud)

这些是我跑的命令.但它绝对不起作用.

我希望能够检查该分支,然后推送并提交来自各个协作者或工作站的分支更改.

git branch git-fetch git-branch

2088
推荐指数
25
解决办法
231万
查看次数

为什么我的Git repo进入了独立的HEAD状态?

我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改

据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.

那我怎么最终得到一个detached HEAD

git

365
推荐指数
7
解决办法
20万
查看次数

git checkout - .vs git checkout

我总是习惯git checkout -- .清理我的工作目录.我以为我读到了某个地方--需要避免git认为你传递的参数(或其他东西)

现在一位同事告诉我,我可以放弃--,实际上,快速测试也是如此.

这两个命令之间有什么区别吗?

PS:在这里问,因为git checkout -- .vs git checkout .有点难以谷歌...

git

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

删除名称不合适的git分支

我知道这不是一个严格的编程问题,但它与git有关.我不小心在git中创建了一个分支--track(我在合并远程分支时得到了错误的选项顺序)

常规命令不起作用:

git branch -D "--track"  
Run Code Online (Sandbox Code Playgroud)

我试图用引号和反斜线逃脱,但是都不起作用.

有任何想法吗?

git git-branch

50
推荐指数
3
解决办法
9250
查看次数

git checkout master不切换分支 - 存储库坏了吗?

tl; dr:git checkout master没有切换到master分支,根本没有给出错误或任何输出,我也不知道为什么.任何其他分支工作正常.

我有一个git存储库,由分支developmentmaster.我做了一个新的克隆存储库,检查分支development是默认的.

$ git clone <REPO-URL> --branch development
$ git branch -a
* development
origin/HEAD -> origin/development
origin/development
origin/master
$ git show-ref 
656c781c2affc26792f857baf8e232de07101535 refs/heads/development
656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/HEAD
656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/development
cfee1a1761642453edf5d001565f23b50243ff09 refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

ref master指向正确,提交确实存在并且是我的master分支的最新提交.

到目前为止,一切看起来都很正常,但是当我尝试切换到掌握时,这种情况正在发生:

$ git checkout master
$ git branch 
* development
Run Code Online (Sandbox Code Playgroud)

没有来自结账的消息,没有错误,没有任何消息,并且没有切换分支.

到目前为止我尝试过的事情:

  • master2从同一个commit => checkout 创建第二个分支工作正常.
  • 删除并重新创建分支主数据本地和原点=>再次无法检出
  • git checkout -b master --track origin/master=>有效,但我认为没有必要使用此命令,因为这是git checkout master应该自动执行的操作
  • 承诺并推动掌握工作,但不会改变结账问题
  • 我尝试了几个git版本(1.9,2.2)和机器(linux,windows),问题随处可见.

还有什么想法?我错过了什么?我的存储库坏了吗?我怎样才能解决这个问题?

git git-checkout

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

无法使用多个遥控器进行结账

我在我当地的git repo中设置了两个遥控器.一个是我正在贡献的开源项目的回购,另一个是我的回购分支.

看来我只能查看我从origin遥控器下拉的东西.从遥控器抓取分支的常规方法包括

$ git fetch <remote> <branch>
$ git checkout <branch>
Run Code Online (Sandbox Code Playgroud)

但这在我目前的情况下似乎不起作用.

$ git fetch my-remote my-branch
remote: Counting objects: 2297, done.
remote: Compressing objects: 100% (1951/1951), done.
remote: Total 2297 (delta 1044), reused 0 (delta 0), pack-reused 50
Receiving objects: 100% (2297/2297), 2.10 MiB | 1.59 MiB/s, done.
Resolving deltas: 100% (1045/1045), done.
From https://github.com/me/my-repo
 * branch            my-branch -> FETCH_HEAD
 * [new branch]      my-branch -> origin/my-branch
$ git checkout my-branch
error: pathspec 'my-branch' did not match …
Run Code Online (Sandbox Code Playgroud)

git

9
推荐指数
3
解决办法
2765
查看次数

为什么git checkout <remote_branchname>没有创建新的跟踪分支?

TLDR:如果X作为远程分支存在,那么git checkout X应该创建它的本地分支.就我而言,对于一个分支,它没有.

远程存储库有一个master, release,和其他一些分支(比方说refactor-update)我这样做:

git clone WHATEVER/repo.git
git checkout release

但我没有得到正常的分支切换消息,也没有origin/release创建本地分支跟踪(man每页都有git checkout).我还在master.注意,如果我做的git checkout refactor-update一切都按预期工作.

这在其他计算机上是可重现的(尽管是相同的平台,可能是相同版本的git).我(出于绝望,不是因为我认为它会起作用),删除release分支并用备份替换它并且master分别没有改变行为(git push origin :release && git push origin master:release)

我被困在可能导致问题的地方.我怀疑是因为某些原因git checkout似乎没有认出这个词release,这会让它像执行一样git checkout.为了尝试跟进这个,在另一个回购中我创建了一个发布分支,看看它是一个保留字还是什么,但它肯定只是在这个存储库中.似乎没有任何与众不同的东西.git/config.

Git版本:1.8

git version-control

7
推荐指数
1
解决办法
1654
查看次数

git checkout感到困惑

我是git的新手,并试图围绕分支的工作方式.根据文档git checkout

更新工作树中的文件以匹配索引或指定树中的版本.如果>没有给出路径,git checkout也会更新HEAD以将指定的分支设置为>当前分支.

所以据我所知,我工作的目录中的文件(我执行git init的文件)应该根据我所在的分支进行更改.我很困惑,因为当我在分支之间切换时不会发生这种情况.在切换分支之前我正在编辑的编辑存在于我切换到的分支中.我做错了什么或git checkout不能这样工作,我只是误解了文档?

git

4
推荐指数
2
解决办法
2699
查看次数