我想更改Git默认远程分支目的地,所以我可以
git push
Run Code Online (Sandbox Code Playgroud)
代替:
git push upstream
Run Code Online (Sandbox Code Playgroud)
目前这被设置为原始远程,我想将其设置为不同的远程.
我试图删除原始(克隆自)遥控器
git remote rm origin
Run Code Online (Sandbox Code Playgroud)
哪个确实删除了原来的遥控器.但并没有解决git push问题.我还是得到:
致命:没有配置推送目的地.
从命令行指定URL 或使用...配置远程存储库
我也试过玩:
git remote set-url --push myfork origin
Run Code Online (Sandbox Code Playgroud)
和其他选项,但似乎没有工作(也许是因为我太快删除了原点遥控器?)
在这里答案后,我试图改变:
git config push.default upstream (or matching)
Run Code Online (Sandbox Code Playgroud)
但都没有奏效.
我想我正在理解git的基本概念.
我已经设置并克隆了一个远程存储库.我还创建了一个服务器端空存储库,并将我的本地存储库链接到它.
我的问题是我不明白之间的区别:
据我所知,master是一个本地分支,而remotes/origin/master是一个远程分支.
但究竟什么是起源/主人?
我一直想知道是否有一种简单的方法来推送和拉出具有不同名称的远程分支的本地分支,而不必始终指定这两个名称.
例如:
$ git clone myrepo.git
$ git checkout -b newb
$ ...
$ git commit -m "Some change"
$ git push origin newb:remote_branch_name
Run Code Online (Sandbox Code Playgroud)
现在如果有人更新remote_branch_name,我可以:
$ git pull
Run Code Online (Sandbox Code Playgroud)
一切都是合并/快进的.但是,如果我在当地的"newb"中进行更改,我不能:
$ git push
Run Code Online (Sandbox Code Playgroud)
相反,我必须:
% git push origin newb:remote_branch_name
Run Code Online (Sandbox Code Playgroud)
看起来有点傻.如果git-pull用于git-config branch.newb.merge确定从何处拉出,为什么不能git-push有类似的配置选项?有没有一个很好的捷径,或者我应该继续漫长的路?
我刚刚开始使用Git,我在不同的分支之间真的很困惑.任何人都可以帮我弄清楚以下分支类型是什么?
他们之间有什么区别?他们如何相互合作?
我想,快速演示代码将非常有用.
我创建了一个git存储库来镜像一个实时站点(这是一个非裸的git存储库):
git clone --mirror ssh://user@example.com/path/to/repo
Run Code Online (Sandbox Code Playgroud)
现在,要保持此镜像克隆更新其远程源的所有更改,我必须使用哪个或哪些命令?
我想保持一切更新:提交,引用,钩子,分支等.
谢谢!
如何将Git遥控器的HEAD引用设置为指向除"master"之外的其他内容?
我的项目有一个不使用"主"分支的策略(所有分支都有有意义的名称).此外,规范主存储库只能通过ssh://访问,没有shell访问权限(如GitHub或Unfuddle).
我的问题是远程存储库仍然有一个HEAD引用refs/heads/master,但我需要它指向一个不同的分支.这导致两个问题:
克隆回购时,有这个,
警告:远程HEAD是指不存在的ref,无法结帐.
这令人困惑和不方便.
基于Web的代码浏览器依赖于HEAD作为浏览树的基础.我需要HEAD指向一个有效的分支,然后.
我是组织中唯一一个使用以下消息进行提交的人:
将远程跟踪分支'origin/develop'合并到develop中
不知道我在做什么导致他们,但我想停下来.
我发出什么命令来创建这个提交,我应该用什么命令来生成它?
我有以下遥控器设置:
$ git remote
korg
rorg
Run Code Online (Sandbox Code Playgroud)
以下分支机构:
$ git branch -a
* (no branch)
remotes/korg/gingerbread
remotes/korg/gingerbread-release
remotes/korg/honeycomb
remotes/korg/honeycomb-mr1-release
remotes/korg/master
remotes/m/android-2.3.3_r1 -> refs/tags/android-2.3.3_r1a
remotes/m/gingerbread -> korg/gingerbread
Run Code Online (Sandbox Code Playgroud)
现在我希望将所有远程分支推korg送到rorg远程.我怎么做?
优选地,如果可以避免,则不为每个第一分支建立本地分支.
从手册页:
Run Code Online (Sandbox Code Playgroud)Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>".
所以我删除了一堆分支
git push origin :staleStuff
Run Code Online (Sandbox Code Playgroud)
然后跑了
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
但是,只修剪了一个本地分支.其中一些分支是由我创建的,一些是由同事创建的.这是否表明我首先没有正确跟踪这些分支?
git ×10
git-remote ×10
git-branch ×4
git-push ×3
git-fetch ×2
branch ×1
git-clone ×1
git-merge ×1
mirror ×1