2012-05-06 31 views
15

Tôi có những 2 chi nhánh trên kho GitHub từ xa của tôi:Làm thế nào để hợp lại thành chi nhánh từ xa

  • phát triển
  • chủ

Làm thế nào để hợp nhất phát triển vào bậc thầy trên kho lưu trữ từ xa? Tôi đã thử

git merge development 

git merge origin 

nhưng nó nói repo được cập nhật vì vậy tôi đang làm nó sai vì github nói phát triển là 12 cam kết trước chủ.

Cập nhật

Cám ơn những thăng sau - đây là một số thông tin nhiều hơn, tôi đã làm một đẩy vào kho từ xa với

git push origin 

và thay đổi của tôi đã được cam kết. Nếu tôi làm một bản sao trong một thư mục khác, tôi thấy tất cả các thay đổi ở đó nếu tôi kiểm tra chi nhánh phát triển.

git branch -av 
development  8265e30 - etc 
hotfix-t4  8342e44 - etc 
*master   0041bod - Initial Commit 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/development 8265e30 - etc 
    remotes/origin/experimental 22cd3ef test1 
    remotes/origin/hotfix-t4 8342e44 test 
    remotes/origin/master 0041bod Initial commit 
+0

gì 'git branch -av' cung cấp cho bạn? –

+2

Bạn đã 'đẩy' chưa? –

+0

Sau khi cam kết, bạn cần phải đẩy để thay đổi chi nhánh tương ứng. Kiểm tra liên kết sau http://help.github.com/fork-a-repo/ http://help.github.com/remotes/ http://git-scm.com/book – Adil

Trả lời

23

Hành vi của git push hay git push origin (tức là khi bạn không còn chỉ định một refspec như tham số cuối cùng) là khá đáng ngạc nhiên - theo mặc định nó đẩy từng ngành để một trong những tên tương tự như vậy miễn là một chi nhánh với tên đó tồn tại cả cục bộ lẫn từ xa. (. Mặc định này có thể được thay đổi với sự lựa chọn push.default config)

Vì vậy, để chắc chắn rằng bạn đã đẩy một cách chính xác một chi nhánh đặc biệt để cùng tên trong điều khiển từ xa origin, đó là một ý tưởng tốt để luôn luôn sử dụng hình thức này:

git push origin <branch-name> 

... tương đương với git push origin <branch-name>:<branch-name>.

Vì vậy, đầy đủ, để đảm bảo rằng bạn đã hợp nhất development-master tại địa phương, và sau đó đẩy master để GitHub, thực hiện chính xác như sau:

git checkout master 
git merge development 
git push origin master 
+0

Rất cám ơn, đây là những gì tôi cần. – MikeW

+0

Giải thích tuyệt vời – Davos

Các vấn đề liên quan