我已经克隆了一个存储库,之后其他人创建了一个新的分支,我想开始研究它.我阅读了手册,看起来很简单.奇怪的是它不起作用,我发现的所有帖子都表明我做的是正确的.因此,我会让自己受到抨击,因为这一定有明显的错误:
似乎是正确的行动
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命令将我的"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 status通知我nothing to commit, working directory clean,甚至很难我在当地分公司做了修改?
以下是我遵循的步骤:
git init [在分支主机上 - 初始提交,无需提交(创建/复制文件并使用"git add"进行跟踪)]git remote add https://github.com/username/project.gitgit pull origin mastertouch testgit add testgit commit -m "Adding file for test purposes only."git status [在分支主机上 - 没有提交,工作目录清理] 如果我这样做git push,修改将提交给远程分支.我只想在修改后执行"git status",并接收我在本地分支上更改的信息,必须将其推送到项目的远程分支.
有人能告诉我发生了什么事吗?直截了当,请:(.
在此先感谢SO社区!
我有一个脚本,它自动创建一个新的分支,其名称基于外部信息(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)
有没有办法做到这一点?