相关疑难解决方法(0)

git fetch不会获取所有分支

我已经克隆了一个存储库,之后其他人创建了一个新的分支,我想开始研究它.我阅读了手册,看起来很简单.奇怪的是它不起作用,我发现的所有帖子都表明我做的是正确的.因此,我会让自己受到抨击,因为这一定有明显的错误:

似乎是正确的行动

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

162
推荐指数
8
解决办法
10万
查看次数

为什么"git fetch origin branch:branch"仅适用于非当前分支?

在处理功能分支时,我使用此Git命令将我的"develop"分支更新为最新状态,在将我的功能分支与"develop"合并之前:

git fetch origin develop:develop
Run Code Online (Sandbox Code Playgroud)

这是有效的,即本地"开发"指向与"原点/开发"相同的提交,并且处于最新的起源状态.

不知何故,当检查"develop"分支时,此命令失败:

fatal: Refusing to fetch into current branch refs/heads/develop of non-bare repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

如果我知道为什么会发生这种情况,那将有助于我更好地理解Git.

git

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

git status(没有提交,工作目录清理),但是提交的更改

我发现了许多类似主题的问题,但我没有找到关于这个问题的任何实际指导:为什么git status通知我nothing to commit, working directory clean,甚至很难我在当地分公司做了修改?

以下是我遵循的步骤:

  • git init [在分支主机上 - 初始提交,无需提交(创建/复制文件并使用"git add"进行跟踪)]
  • git remote add https://github.com/username/project.git
  • git pull origin master
  • touch test
  • git add test
  • git commit -m "Adding file for test purposes only."
  • git status [在分支主机上 - 没有提交,工作目录清理]

如果我这样做git push,修改将提交给远程分支.我只想在修改后执行"git status",并接收我在本地分支上更改的信息,必须将其推送到项目的远程分支.

有人能告诉我发生了什么事吗?直截了当,请:(.

在此先感谢SO社区!

git github git-commit

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

git-创建一个稍后将被推送到遥控器的分支

我有一个脚本,它自动创建一个新的分支,其名称基于外部信息(JIRA票证).在我提交并推送一些代码之前,我不想创建远程分支,但我不想做"git push --set-upstream origin"

换句话说,我想在推送之前设置上游.

git checkout -b mybranch
git <do-something-to-prepare origin/mybranch without talking to origin>
<do work>
git commit -a -m "Made my changes."
git push
Run Code Online (Sandbox Code Playgroud)

我试过了:

git branch --set-upstream-to=origin/mynewbranch
Run Code Online (Sandbox Code Playgroud)

这导致:

error: the requested upstream branch 'origin/mynewbranch' does not exist.
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

git

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

标签 统计

git ×4

branch ×1

fetch ×1

git-commit ×1

git-fetch ×1

github ×1