相关疑难解决方法(0)

如何查看远程Git分支?

有人将一个名为testwith 的分支推git push origin test送到共享存储库.我可以看到分支git branch -r.

现在我正试图检查远程test分支.

我试过了:

  • git checkout test 什么都不做

  • git checkout origin/test给* (no branch).这令人困惑.我怎么能在"没有分支"?

如何查看远程Git分支?

git remote-branch git-checkout

6408
推荐指数
38
解决办法
496万
查看次数

如何获取所有Git分支

我克隆了一个Git存储库,它包含大约五个分支.但是,当我这样做时,git branch我只看到其中一个:

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

我知道我可以git branch -a看到所有分支,但是我如何在本地拉出所有分支,所以当我这样做时git branch,它显示以下内容?

$ git branch
* master
* staging
* etc...
Run Code Online (Sandbox Code Playgroud)

git branch git-branch

1371
推荐指数
24
解决办法
123万
查看次数

如何在Git中克隆单个分支?

我有一个名为'skeleton'的本地Git存储库,用于存储项目框架.它有一些分支,用于不同类型的项目:

casey@agave [~/Projects/skeleton] git branch
* master
  rails
  c
  c++
Run Code Online (Sandbox Code Playgroud)

如果我想查看一个新项目的主分支,我可以做

casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
Run Code Online (Sandbox Code Playgroud)

一切都是我想要的.具体来说,新的主分支指向骨架主分支,我可以推拉以移动对基本项目设置的更改.

但是,如果我想要克隆另一个分支,那么什么不起作用.我无法得到它,所以我只拉动我想要的rails分支,例如分支,然后新的存储库有一个master分支,rails默认情况下推送到骨架存储库的分支并从中拉出.

这有什么好办法吗?或者,也许这不是Git想要我构建事物的方式,我当然对此持开放态度.也许我应该有多个存储库,Ruby on Rails骨架存储库跟踪主骨架存储库?任何克隆Ruby on Rails骨架存储库的单个项目.

git branch git-clone

749
推荐指数
13
解决办法
66万
查看次数

Git checkout:更新路径与切换分支不兼容

我的问题与切换分支时的致命Git错误有关.

我尝试使用该命令获取远程分支

git checkout -b local-name origin/remote-name
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

致命:git checkout:更新路径与切换分支不兼容.
您是否打算签出无法解析为提交的"origin/remote-name"?

如果我手动创建一个分支然后拉远程分支,它就可以工作,就像创建一个新的克隆并检查分支一样.

为什么它不适用于我使用的存储库?

git remote-branch git-checkout

463
推荐指数
6
解决办法
21万
查看次数

远程分支没有出现在"git branch -r"中

我一直在推动远程bitbucket回购,最近一位同事将他创建的新分支推到了同一个回购中.

我正在尝试获取他上传的更改.

 $ git branch -a  
 * master 
 localbranch1
 localbranch2
 remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

$ git branch -r
origin/master

在用于bitbucket的web ui中,我可以看到他所创建的分支.任何帮助/建议/方向将是最受欢迎的.谢谢.

您需要的任何进一步信息.

编辑1

$ git fetch bitbucket
Password for 'https://xxxxx@bitbucket.org':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

如果他创建的分支名为new_branch_b,我应该期待看到:

$ git branch -r    
origin/master 
origin/new_branch_b
Run Code Online (Sandbox Code Playgroud)

编辑2

$ git remote update
Fetching bitbucket
Password for 'https://xxxxx@bitbucket.org':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD


$ git branch -r
  origin/master
Run Code Online (Sandbox Code Playgroud)

编辑3

[remote "bitbucket"]
url = https://user@bitbucket.org/user/repo.git
Run Code Online (Sandbox Code Playgroud)

我打电话给远程bitbucket而不是原点(至少这是我记得的,我刚刚设置它)

编辑4

我按照kan的回答更新了bitbucket远程配置.

$ git config -e

[remote "bitbucket"] …
Run Code Online (Sandbox Code Playgroud)

git

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

git shallow clone(clone --depth)错过了远程分支

克隆远程存储库后,它不会通过-a选项显示任何远程分支.可能是什么问题呢?怎么调试呢?在此片段中,未显示两个远程分支:

$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
$ cd pythonwebkit
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
$ git --version
git version 1.8.3.1
Run Code Online (Sandbox Code Playgroud)

在另一台机器上尝试相同的命令,它运作良好:

$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done.
$ cd pythonwebkit/
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/debian
  remotes/origin/master
  remotes/origin/python_codegen
$ git --version
git version 1.7.1
Run Code Online (Sandbox Code Playgroud)

尝试克隆另一个回购,它运作良好.虽然我可以在这台机器上再试一次,但最好知道什么是错的.

任何建议或提示都将受到欢迎.

编辑:答案摘要:从git版本1.8.3.2开始,需要同时使用"--depth"和"--no-single-branch"来获得与以前相同的行为.这被视为错误修复.

git branch shallow-clone

76
推荐指数
3
解决办法
4万
查看次数

git拒绝获取当前分支

我设置了一个远程存储库,我可以对它进行新的更改,但我无法从中获取,我总是得到(相当神秘的)错误消息:

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 git-fetch

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

当存在同名文件时Git更改分支

我在我的git repo中有一个名为xyz的文件.巧合的是,我还有一个名为xyz的分支.目前我在掌握,但我想结帐分支xyz.要使用的命令很简单

$ git checkout xyz
Run Code Online (Sandbox Code Playgroud)

但这会将文件签出xyz到当前的HEAD.如何将分支更改为分支xyz?

git git-checkout git-branch

47
推荐指数
3
解决办法
8858
查看次数

将分支推送到Git

我有一个我正在处理的本地存储库,它的远程服务器托管在GitHub上.我最近创建了一个分支并开始研究它,进行了几次提交,现在希望将分支推送到GitHub并能够将其拉到另一个克隆的存储库.

要做到这一点需要做些什么?

如果使用GitHub无法做到这一点,我很乐意知道如何正常使用它.

git branch github git-pull git-push

46
推荐指数
3
解决办法
7万
查看次数

GIT提取或克隆存储库只能获得Master分支

当我git clone在存储库或使用时我在BitBucket上托管git pull origin master并且git pull origin myBranch它确实第二次拉,但是当我列出分支时git branch -v我只看到master.做git status什么也没什么.

如何将网络仓库中的所有分支机构拉到我的本地仓库?

可能是因为我更改了计算机并更改了git设置上的名称所以它只能让我得到master它因为它是默认分支而另一个只能由创建它的人访问吗?

git clone pull bitbucket

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

如何添加git repo作为自身的子模块?(或者:如何以编程方式生成GitHub页面?)

我想开始在我的项目网站上使用GitHub Pages.这只需要gh-pages在repo中命名的分支(子树),并提供其内容.问题是网站的一部分(手动,更改日志,下载页面......)是由构建系统自动生成的,所以我想找到gh-pages在主要仓库保持打开时将这些更改提交到分支的最佳方法master(或任何地方).

为了提交gh-pages分支,我可以编写一个脚本,将repo克隆到一个临时目录中,进行修改,提交它们,然后将它们推回到主repo.但这听起来像一个容易出错的过程,所以我希望有一个更简单的方法.

一位朋友建议我可以将gh-pages分支作为子模块添加到主存储库中.我做了一个小实验,但它不太有效:

$ git init main
Initialized empty Git repository in /tmp/main/.git/
$ cd main
$ touch main.txt
$ git add .
$ git commit -m'Initial commit in main branch.'
[master (root-commit) 1c52a4e] Initial commit in main branch.
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 main.txt
$ git symbolic-ref HEAD refs/heads/gh-pages
$ rm .git/index
$ git clean -fdx
Removing main.txt
$ touch index.html …
Run Code Online (Sandbox Code Playgroud)

git github git-submodules

21
推荐指数
2
解决办法
4228
查看次数

如何使用git查看另一个开发人员的分支?

我有一个项目,我是唯一的开发人员.然后,一位新的开发人员加入了该项目,并创建了他

我想创建一个单独的位置并下载此分支并从该新位置运行该分支,因此绝对没有冲突.

我在我的本地计算机上创建了一个新目录.我正在考虑做这个命令:

git checkout -b branch-name origin/branch_name
Run Code Online (Sandbox Code Playgroud)

但我知道这有点不对,因为我需要检查新的主干和分支,我猜?我很困惑这样做的正确做法是什么.有人可以向我解释一下这是如何做到的?

谢谢!

git

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