簡體   English   中英

如何在GIT上將更改從開發分支上傳到遠程分支?

[英]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之后執行的后續推送(在從devui另一次合並之后)應該起作用。


現在它的工作沒有任何其他非常困難的命令,但只是與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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM