[英]How to test code from a Git branch without merging it with master branch?
[英]How to upload changes from development branch to remote branch on GIT?
我正在使用cakephp网站之一,我使用git作为版本控制器。 我有两种不同的分支:
1)发展
2)ui
当我尝试使用此命令将我的最新更改从开发推送到ui分支时: git push web ui ,将显示以下消息。
Counting objects: 43, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (28/28), done.
Writing objects: 100% (29/29), 66.67 KiB | 0 bytes/s, done.
Total 29 (delta 15), reused 0 (delta 0)
remote: Already on 'ui'
remote: ----------------------------------------------------------------
remote: Deployed ui to Leo
remote: ----------------------------------------------------------------
To ssh://git@wasteaccountant.com/srv/git/wa.git
bdc7d80..01e85ea ui ->ui
但是当我在git服务器上检查ui分支时,该特定分支上没有更新。 但我可以看到我在浏览器中检查时应用的更改。
更新的问题:
以下是我以前运行的命令的步骤:
1)git状态
2)git checkout开发//开发分支的名称
3)git add
4)git commit
5)git push //仅在开发分支上推送开发更改
6)git checkout ui // ui branch的名字
7)git merge开发
8)git push web ui //推动ui分支的变化
无论我在开发分支上推动什么,我都可以在git存储库上看到所有更改,但是ui分支没有运气。
注意:如果我使用git push -f命令它将正常工作。 对我来说很奇怪!
-------------------------------------------------- ------------------------------------------------
任何人都可以建议我做什么? 或者我在命令中犯了错误?
谢谢!
当我尝试使用此命令将我的最新更改从开发推送到ui branch时:
git push web ui
将分支推送到另一个分支将是:
git push web development:ui
第一次推动将:
ui
分支上完成的新提交更新远程ui
提交(这意味着0提交,因为您已经在development
分支上完成了提交) 但是,在你的情况下,你将ui分支更新为dev devits,然后将dev
转换为ui
,所以它应该可行。
但是:如果它仅在git push -f
之后起作用,那意味着第一次推送应该因为“非快进推送”而失败。
在push -f
之后执行的后续推送(在从dev
到ui
另一次合并之后)应该起作用。
现在它的工作没有任何其他非常困难的命令,但只是与git推。 再次感到奇怪! 你知道原因吗?
如果你的本地和repo提交共享相同的历史记录(在git push -f之后应该是这种情况), 那么任何后续推送都将添加到该历史记录中(不需要强制它)。
所以这将有效:
git push origin ui
实际上,如果你设置了一个上游分支 (通过git push -u origin ui
,用git config branch.ui.remote
检查它),那么这将有效:
git push
(尽管检查你的推送政策 )
尝试在服务器上执行git reset --hard
。 当您推送到远程非裸仓库时,分支不会被检查。 当你执行git reset --hard
,它将删除它在工作目录中看到的所有更改,有效地前进到上次提交。 您可以将git reset --hard
到服务器上的post-fetch挂钩。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.