有没有办法得到一个指向git特定提交的引用列表(包括标签,分支和遥控器)?
我的团队使用公开可用的 github 托管项目作为我们主项目中的子模块。我们希望针对该项目管理我们自己的补丁,而不向上游推送,但是除非我们有一个镜像来推送我们的私有分支,否则我们无法共享这些补丁。
假设我们有镜像,我们的子模块需要两个遥控器:一个是我们从中获取上游更改的地方,另一个是我们推送与补丁分支合并的地方。我们如何使用子模块(或超级项目)存储有关遥控器的信息,以便团队的每个成员都可以轻松地执行上游更新,而无需git add remote upstream ...github...project.git.
我们打算通过编写一个 shell 脚本来自动化这个过程和一个用于存储上游遥控器的文件来解决这个问题,但是有没有一种git 方法来做到这一点?
可能相关,但我没有看到合适的解决方案:git add remote in submodule
你能解释一下如何将本地分支推送到特定的远程分支
$ git branch -vv
dev 4d46c96 [origin/dev] Merge branch '1783' into dev
dev_3_feature 226b914 second commit in dev_3_feature
dev_second_feature 6b5f10f second commit in dev_2_feature
master baf5fc0 [origin/master: ahead 1] master feature
* myFeature da5cc64 second commit in dev_1_feature
test 334cf7e commiting my super changes locally
Run Code Online (Sandbox Code Playgroud)
1)我希望我的DEV功能被推入origin/dev并留在那里作为分支机构,我该怎么做?
2)我应该在本地设置什么/何地/如何在origin/dev默认情况下推入而不是origin/master
我做了一个无意中命名为"0.2"的git分支,它也是一个标签.
所以我试图从原点删除它:
$ git branch -rD origin/0.2
Deleted remote branch origin/0.2
Run Code Online (Sandbox Code Playgroud)
但是之后:
$ git fetch origin
* [new branch] 0.2 -> origin/0.2
Run Code Online (Sandbox Code Playgroud)
这是我推动时的错误:
$ git push --force origin :0.2
error: dst refspec 0.2 matches more than one.
Run Code Online (Sandbox Code Playgroud)
所以我删除了远程标签:
$ git tag -d 0.2
$ git push origin :refs/tags/0.2
Run Code Online (Sandbox Code Playgroud)
仍然没有去:
$ git branch -rD origin/0.2
* [new branch] 0.2 -> origin/0.2
Run Code Online (Sandbox Code Playgroud)
我正在做一个项目,我有一个中央git仓库.该项目是一个骨架,可作为许多分叉的基线.
是否可以为fork配置我的本地工作存储库以跟踪项目的中心作为原点并跟踪骨架的master作为一个名为upstream的单独分支跟踪骨架的主人,以挑选对骨架的更改?
我想我希望我的工作流程如下:
创建骨架>>叉骨架>>骨架从叉2拉出变化>>叉1从骨架拉出变化
是否有更好的流程来完成我所描述的内容?
我的本地git repo需要从一台服务器上拉.然后,它需要将特定分支推送到具有不同服务器上的不同分支名称的审阅存储库.
类似于:从Server1上的PullOnlyRepo中拉出所有内容(我们可能会调用该来源吗?)将Branch分支修补程序推送到ReivewRepo,在Server2上使用分支名称JistChanges.
现在git config -l显示:
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=<URL for Server1>
remote.origin.pushurl=no_push (this shouldn't matter since it is a pull only repo)
branch.production.remote=origin
branch.production.merge=refs/heads/production
remote.review.url=<URL for Server2>
remote.review.fetch=+refs/heads/*:refs/remotes/review/*
Run Code Online (Sandbox Code Playgroud)
git pull做我想要的(从Server1上的正确位置获取更改并将它们合并到我的工作树中).
但是git push没有.为了实现我想要的我必须做的事情
git push review hotfix:JistChanges
Run Code Online (Sandbox Code Playgroud)
是否有一些方法可以让git pull做到这一点,而不必添加额外的东西?
已经设置了一些问题,以便您的本地分支推送到具有不同分支名称的远程.然而,它们也改变了上游和拉动的来源.
当我尝试推送到我的bitbucket repo时,我收到以下错误.(实际上它在GitHub中也一样).
计数对象:48,完成.
Delta压缩最多使用2个线程.
压缩对象:100%(38/38),完成.
书写对象:100%(48/48),1.95 MiB | 38 KiB/s,完成了.
总计48(delta 9),重用0(delta 0)
致命:远程端意外挂起
错误:RPC失败; result = 56,HTTP code = 0
fatal:在die handler中检测到的递归
一切都是最新的
大多数情况下,我得到另一个错误
错误:RPC失败; result = 56,HTTP code = 0
致命:远程端意外挂断
无论哪种方式PUSH失败.这只适用于我猜的大文件.对于较小的更改,它工作正常.我已经更新http.postBuffer到2M但它仍然无法正常工作.
重要 我有3G连接和基于CDMA的EVDO互联网连接.通过3G连接,PUSH和其他一切工作都很精细.但是使用EVDO我得到了上述错误.所以我的印象是因为我的EVDO或ISP存在一些连接问题.
我该如何解决这个问题?
我们最近遇到了Git存储库中的标签问题.
我们在本地和远程删除了我们的标签,但每次我们推送或从远程获取时它们都会自动恢复.
我们目前正在组建一个三人小组,当我们认为我们实际上已经摆脱了标签时,有人会做出推动,我们都会再次获得它们.
我们都试过了:
git tag -d 12345
git push origin :refs/tags/12345
Run Code Online (Sandbox Code Playgroud)
其他人遇到过这个问题?
这里的内容remote和branch我的部分.git/config文件.
Run Code Online (Sandbox Code Playgroud)[remote "origin"] url = https://EvanAad@bitbucket.org/EvanAad/bitbucketstationlocations.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
这些部分内容的含义和目的是什么,特别是fetch和merge子部分?Git如何使用这些信息来指导其运作?
有什么Track Remote Branch作用?还有什么意思呢configure for push/pull with origin/master?
git ×10
git-remote ×10
git-branch ×4
git-tag ×3
bitbucket ×1
branch ×1
commit ×1
git-config ×1
git-fetch ×1
git-merge ×1
github ×1