我想删除本地和我在GitHub上的远程项目分支上的分支.
$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.
$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.
$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).
$ git push
Everything up-to-date
$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
remotes/origin/bugfix在本地和GitHub上成功删除分支我需要做些什么
?
我有一个名为'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骨架存储库的单个项目.
完整信息:
error: Ref refs/remotes/origin/user is at 3636498c2ea7735fdcedc9af5ab3c8689e6abe77 but expected a21359c6cc2097c85775cde6a40105f4bd7100ec
From github.com:{github project url}
! a21359c..6273ffc user -> origin/user (unable to update local ref)
Run Code Online (Sandbox Code Playgroud) 我是新手git,我在练习.我创建了一个本地分支,但是当我完成时,我看到git push我的分支没有上传到存储库.我必须这样做:git push -u origin --all.
为什么是这样?不是分支是默认推送的新变化吗?为什么我需要运行第二个命令?
我很难理解git-fetch的细微差别.我知道做一个fetch,将远程refs提取到本地跟踪分支.
我有几个问题:
是否有可能本地跟踪分支不存在?如果是,那么它会自动创建吗?
如果我执行fetch并指定非跟踪分支作为目标,会发生什么?
git-fetch的手册页指定:
git-fetch <options> <repository> <refspec>
Run Code Online (Sandbox Code Playgroud)我如何使用refspec从远程主站获取内容到其远程跟踪分支?我相信如果我现在的HEAD在主人身上并且我跑了,这可能是可能的
git fetch origin master
但是,我可以使用<+?src:dest>refspec来实现同样的目的吗?我认为这将有助于我更好地理解这些概念.
还有一个问题:
我的.git/config文件有以下行用于获取(仅显示相关行):
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
有人可以解释这条线的确切含义吗?
我想停止跟踪某些分支机构.我设置跟踪使用git branch --set-upstream foo origin/foo.
我该如何撤消这个?
我已经将SVN的回购迁移到Git svn2git,除了一件事之外我对所有事情感到满意.如何删除remotes/svn/trunk显示在git branch -a以下位置的分支:
$ git branch -a
* master
remotes/origin/master
remotes/svn/trunk
Run Code Online (Sandbox Code Playgroud)
svn2git通过执行以下操作后我清理了一下:
git config --remove-section svn-remote.svn
git config --remove-section svn
rm -rf .git/svn
Run Code Online (Sandbox Code Playgroud)
但我仍然remotes/svn/trunk坐在那里!我得到这个,如果我grep .git目录svn:
$ grep -R svn .git
.git/info/refs:e6dd7a08d86d9b0944891755602b25ce12d30bb0 refs/remotes/svn/trunk
Binary file .git/objects/pack/pack-10cdd522d8f0fcc9b30efeddbdad3d0281c1e6da.pack matches
.git/packed-refs:e6dd7a08d86d9b0944891755602b25ce12d30bb0 refs/remotes/svn/trunk
Run Code Online (Sandbox Code Playgroud)
我可以安全地进入这些文件并删除参考文献,还是有一种更清洁的方法来摆脱那些旧的瑕疵?
我在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) 我已经获取了一些远程分支,例如git fetch jason sprint-36。我附上了屏幕截图(红色是遥控器):
我如何停止跟踪/从我的列表中删除遥控器?例如,4 个月前我这样做了,git fetch ken retain-cycle-fix我再也不会获取或查看这个分支,我该如何删除它?
当试图在Eclipse中的git存储库中拉(Team | Pull从上下文菜单中)时,我得到Could not get advertised Ref for branch refs/heads/develop错误.我想这是因为develop在此期间删除了名为的远程分支.Branch develop目前已签出.
如何解决这个问题?
我可以配置git和/或Eclipse,以便下次删除某个其他远程分支时不会出现此错误吗?
假设远程br1仓库上有远程分支机构检查,master本地仓库上有分支机构.
命令1:如果我做了一个" git pull origin br1:br1"它将远程拉br1入本地br1,并显示:
9188a5d..97d4825 br1 -> br1
9188a5d..97d4825 br1 -> origin/br1
命令2:如果我只做一个" git pull",它会将远程拉br1入本地master,但它只显示以下内容:
9188a5d..97d4825 br1 -> origin/br1
我期待它也会显示" br1 -> master" 这样的东西.为什么没有表现出来?
" br1 -> br1" 是否意味着将远程拉br1入本地br1?
这是什么br1 -> origin/br1意思?
更新:在VonC的帮助下,我发现了以下内容:
git pull更新所有跟踪分支.遥控器上的br1 -> origin/br1装置br1被拉入本地跟踪分支origin/br1.
git pull origin br1:br1将远程拉br1入本地br1并进入origin/br1.然后,之后的消息意味着相同的更改集也被拉入当前签出的分支(消息是 …