而不是做:
git push origin --all && git push nodester --all && git push duostack --all
Run Code Online (Sandbox Code Playgroud)
有没有办法只用一个命令来做到这一点?
谢谢 :)
我一直想知道是否有一种简单的方法来推送和拉出具有不同名称的远程分支的本地分支,而不必始终指定这两个名称.
例如:
$ 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有类似的配置选项?有没有一个很好的捷径,或者我应该继续漫长的路?
我希望我的本地和远程存储库在分支方面始终保持同步.
在GitHub上进行Pull Request审核后,我合并并删除了我的分支(远程).我如何在本地存储库中获取此信息并让Git删除我的本地版本的分支?
我有一个Git存储库,其中有很多提交,没有特定的分支,我可以git show,但是当我尝试列出包含它们的分支时,它没有报告任何内容.
我认为这是悬挂的提交/树问题(由于-D分支),所以我修剪了回购,但之后我仍然看到相同的行为:
$ git fetch origin
$ git fsck --unreachable
$ git fsck
Run Code Online (Sandbox Code Playgroud)
没有输出,没有悬空(对吧?).但提交存在
$ git show 793db7f272ba4bbdd1e32f14410a52a412667042
commit 793db7f272ba4bbdd1e32f14410a52a412667042
Author: ...
Run Code Online (Sandbox Code Playgroud)
它不能通过任何分支到达
$ git branch --contains 793db7f272ba4bbdd1e32f14410a52a412667042
Run Code Online (Sandbox Code Playgroud)
没有输出.
这个提交的状态究竟是什么?如何列出处于类似状态的所有提交?如何删除那些提交?
我跑了 git branch -a
* master
remotes/origin/test
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
我想删除我的远程分支
我试过了
git push origin --delete remotes/origin/test
Run Code Online (Sandbox Code Playgroud)
我有
错误:无法删除'remotes/origin/test':远程引用不存在
它怎么不存在?
我做了一个git branch -a,我看到它列出来了.
我错过了什么吗?
我最近参加了GitHub的一个项目.我做了以下事情:
分叉原始存储库,克隆到我的本地机器,建立一个分支来修复现有的bug,修复了该分支中的bug,将该分支推送到我的repo,向存储库的作者发送pull请求以合并我的fix分支到它的主要分支.
这是我第一次提交另一个代码,所以我不知道该怎么做.现在我的pull请求已被作者合并到原始repo/project.
接下来我该怎么办?我应该删除分支吗?我应该合并分支吗?还要别的吗?
原始项目有一个分支.
我还有一个上游设置,以获得原始回购的最新更新.(我是这样做的):
git remote add upstream https://path/to/original/repo.git
Run Code Online (Sandbox Code Playgroud)
我得到这样的更新:
git fetch upstream
Run Code Online (Sandbox Code Playgroud) 我有一个git repo,有几十个遥控器已经合并成了主人.我可以使用以下方法一次删除这些遥控器:
git push --delete origin myBranch-1234
Run Code Online (Sandbox Code Playgroud)
然而,对于所有遥控器来说,这是一个缓慢而乏味的过程.所以我正在尝试这个命令:
git branch -r --merged | grep origin | grep -v master | xargs git push origin --delete
Run Code Online (Sandbox Code Playgroud)
git branch -r --merged列出所有合并的遥控器.
grep origin告诉命令包含原点.
grep -v master告诉命令排除master.
xargs git push origin --delete告诉命令删除遥控器列表.
总之,我希望这会收集所有合并的遥控器并删除它们.
当我运行上面的命令时,我会收到每个合并的遥控器的以下内容;
error: unable to delete 'origin/myBranch-1234': remote ref does not exist
error: unable to delete 'origin/myBranch-1235': remote ref does not exist
error: unable to delete 'origin/myBranch-1236': remote ref does not exist
error: unable …Run Code Online (Sandbox Code Playgroud) 我需要恢复在推送过程中以某种方式删除的两个Git分支.
这两个分支是在不同的系统上创建的,然后推送到我的"共享"(github)存储库.
在我的系统上,我(显然)在获取期间检索了分支:
~/myfolder> git fetch
remote: Counting objects: 105, done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 62 (delta 29), reused 0 (delta 0)
Unpacking objects: 100% (62/62), done.
From github.com:mygiturl
* [new branch] contact_page -> origin/contact_page
731d1bb..e8b68cc homepage -> origin/homepage
* [new branch] new_pictures -> origin/new_pictures
Run Code Online (Sandbox Code Playgroud)
在那之后,我做了一个推动,将我的本地更改发送到中央仓库.出于某种原因,这些分支从我的本地系统和中央仓库中删除:
~/myfolder> git push
Counting objects: 71, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (43/43), done.
Writing objects: 100% (49/49), 4.99 KiB, done.
Total 49 (delta 33), …Run Code Online (Sandbox Code Playgroud) 如何使用egit删除sourceforge中的远程分支本身及其中的所有文件?
git ×9
branch ×3
github ×3
git-remote ×2
console ×1
eclipse ×1
egit ×1
git-dangling ×1
git-push ×1
pull ×1
repository ×1
ruby ×1