[英]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.