我有一个远程存储库http://github.com/fernandezpablo85/Test
这个repo有一个master分支,但它在其他两个分支后面,所以当我克隆它时,我得到了这个警告:
警告:远程HEAD是指不存在的ref,无法结帐.
而且我也没有得到一个本地master分支(git branch什么都不显示).
我可以修复整个事情:
git checkout -b master origin/master
但我想知道为什么会这样?主人应该是更先进的分支吗?或者我的回购还有其他问题吗?
我有一个包含大量二进制文件的存储库(大约250MB) - 我不知道这是否重要.
我正在创建一个新的分支并尝试在中央服务器上发布它:
git checkout -b newbranch
git push origin newbranch:newbranch
Run Code Online (Sandbox Code Playgroud)
现在,git正试图将30MB的数据推送到服务器.为什么??没有变化.
还尝试制作一个包:
git bundle afile master..newbranch
fatal: Refusing to create empty bundle.
Run Code Online (Sandbox Code Playgroud)
怎么了?
我正在按照这里描述的工作流程进行操作,因为我发现很多参考文献指出这个页面是一个很好的工作流程.正如文章中提到的,"功能"分支在开发人员之间共享,但不会转到中央存储库.
假设开发人员"A"启动了一个新的功能分支git checkout -b newfeature develop.现在让我们说开发人员"B"也需要处理这个功能.这是我的问题.
我做了什么:
git branch remoteA/newfeature现在,第3步无效.我收到一条消息:
remote:错误:默认情况下,更新非裸存储库中的当前分支被拒绝,因为它会使索引和工作树与您推送的内容不一致,并且需要'git reset --hard'来匹配工作树对HEAD.
remote:错误:您可以在远程存储库中将'receive.denyCurrentBranch'配置变量设置为'ignore'或'warn'以允许推入其当前分支; 但是,除非您安排更新其工作树以匹配您以其他方式推送的内容,否则不建议这样做.
remote:error:要压制此消息并仍然保持默认行为,请将receive.denyCurrentBranch'配置变量设置为'refuse'.
我已经设定了sharedRepository = true,但没有帮助.
我有两个问题:
老实说,找不到任何详细的输出文档git remote show(当然不在手册页上)
特别是,Local可以理解这些部分的清晰,准确的解释.
我发现令人困惑的一个例子:
这里我有两个遥控器,klas和origin以及它们产生的输出:
> git remote show klas
* remote klas
Fetch URL: ..\klasrepo
Push URL: ..\klasrepo
HEAD branch: master
Remote branches:
experiment tracked
feature tracked
master tracked
pu tracked
stashbranch tracked
Local branch configured for 'git pull':
pu merges with remote pu
Local refs configured for 'git push':
experiment pushes to experiment (fast-forwardable)
feature pushes to feature (fast-forwardable)
master pushes to master (fast-forwardable)
pu pushes to …Run Code Online (Sandbox Code Playgroud) 最近,当我在 master 分支中运行时,git pull它偶尔会出现以下合并错误:
Trying simple merge with 7ff9b5...
Trying simple merge with 6872cd...
Simple merge did not work, trying automatic merge.
Auto-merging file.txt
ERROR: content conflict in file.txt
fatal: merge program failed
Automated merge did not work.
Should not be doing an Octopus.
Merge with strategy octopus failed.
Run Code Online (Sandbox Code Playgroud)
然而,在这次合并尝试之后,有些文件甚至不在主分支中。我可以使用git reset并再次拉动来解决这个问题,但我想知道这个头或提交来自哪里,我怎样才能找到这个?我尝试查看gitk并检查本地 GitLab 服务器,但找不到任何内容。
我想在我们公司的git上构建特定的流程.
换句话说 - 是否可以在公共存储库中配置私有远程分支?
我想从远程获取分支,但我的分支名称不以远程名称开头,例如:
git checkout -b BRANCH origin/BRANCH
Run Code Online (Sandbox Code Playgroud)
它在某些情况下有效,但在某些情况下我收到此错误:
fatal: git checkout: updating paths is incompatible with switching branches.
Run Code Online (Sandbox Code Playgroud)
虽然我确信遥控器有这个分支,这有效:
git checkout -b origin/BRANCH
Run Code Online (Sandbox Code Playgroud)
之后,我必须切换到另一个分支并将分支原点/ BRANCH重命名为BRANCH,然后再次切换到BRANCH ...我想知道该错误的含义.
我在git中有一个本地回购,从一个远程仓库中克隆出来development.我在本地分支以在分支中调用新功能newBranchName并调用git push origin newBranchName以在远程仓库上设置新分支.
现在,当我尝试推送时,git似乎正在推动我的newBranchName本地分支进入旧分支跟踪的所有内容.我希望停下来.
这是我的意思的扩展样本.我将创建一个本地分支,添加一个文件,在本地提交,然后推送到远程服务器上的新分支.到现在为止还挺好.
Administrator@BOXEN /path/to/working/dir (oldBranch)
$ git branch testingStuff
Administrator@BOXEN /path/to/working/dir (oldBranch)
$ git checkout testingStuff
Switched to branch 'testingStuff'
Administrator@BOXEN /path/to/working/dir (testingStuff)
$ vim test.txt
Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git add test.txt
Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git commit -a
[testingStuff 11468d8] Testing git; can trash this branch.
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test.txt
Administrator@BOXEN /path/to/working/dir (testingStuff)
$ …Run Code Online (Sandbox Code Playgroud) 我正在使用这个名为Gift的真棒库来完成我所有的标准git事务(拉动,读取提交等).但是,我似乎无法获得远程分支机构.我相信git branch -r命令会显示分支,但格式肯定不是机器可读的:
origin/HEAD -> origin/master
origin/dev
origin/gh-pages
origin/master
Run Code Online (Sandbox Code Playgroud)
我想知道如何查看存储库所具有的所有远程分支.
谢谢!
我正在寻找远程分支并陷入某种循环.
我取一次然后得到:
$ git fetch
* [new branch] minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)
然后我再次获取并得到:
$ git fetch
* [new branch] minorRelease/Something-> origin/minorRelease/Something
Run Code Online (Sandbox Code Playgroud)
相同的分支但有资本S.
我试图从以下文件夹中删除该文件.git/refs/remotes/origin/minorRelease,但是当再次获取时,我得到两个并返回上面的循环:
$ git fetch
* [new branch] minorRelease/Something-> origin/minorRelease/Something
* [new branch] minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud) git ×10
remote-branch ×10
git-branch ×4
branch ×1
git-fetch ×1
git-flow ×1
git-remote ×1
node.js ×1
push ×1