Git remote và việc push source code lên nhiều nơi cùng lúc

Tình huống

Công ty bạn hiện đang sử dụng github private để lưu giữ source code. Một ngày đẹp trời, sếp cho đặt một server git local tại phòng server của công ty. Vậy là cùng một source code, bạn sẽ phải push lên hai repository (repo) cùng lúc.
Tình huống khác: bạn đang tham gia code cho một open source, và muốn “lưu giữ” nó ở một server khác (github, bitbucket…).
Trong bài viết này, hai thuật ngữ server và repo được hiểu nôm na tương đương nhau: server nó như một khu công nghiệp để chứa code, còn repo nó như một cái nhà kho trong khu công nghiệp đó. Tác giả ngầm định hai repo khác nhau thì thuộc hai server khác nhau.

Giải pháp

Câu lệnh git push origin master

Trước giờ tìm hiểu git, làm theo hướng dẫn, rồi vào công việc thì cũng sử dụng đoạn lệnh này để push code lên server luôn. Có bao giờ bạn thắc mắc origin là gì, và tại sao lại là origin chứ không phải là cái khác, và nó có tác dụng gì, tại sao lại thấy có người chỉ cần gõ git push là đủ?
Điểm qua về quy trình đưa code lên server:

Trong quy trình này, chúng ta sẽ nói về lệnh git remote add origin [link.to.git.repo]. Dòng lệnh này thực hiện việc “kết nối local repo của bạn tới server repo có địa chỉ là [link.to.git.repo] với tên viết tắt (alias) là origin“. Bởi vậy, lần sau bạn chỉ cần gõ git push origin master là git sẽ biết bạn muốn push lên server repo [link.to.git.repo].
Đến đây thì bạn đã hiểu origin nó là cái gì. Vậy, tại sao cứ phải là origin mà không phải cái khác, và có thể thay đổi nó được không? Thì origin nó chỉ là cái tên viết tắt cho server repo của bạn, vì vậy, bạn hoàn toàn có thể thay đổi nó. Mình hay đặt là gh cho github, và bb cho bitbucket.
Vậy, cấu trúc của câu lệnh sẽ thế này:

Giải quyết tình huống đầu bài

Đến đây thì hẳn bạn có thể đoán ra là để push code lên repo khác thì chỉ việc add cái repo đó vào local git của mình bằng lệnh git remote add [link.to.git.repo], sau đó, khi push code thì bạn cần nói cho git biết là bạn muốn push code lên repo nào.

Thêm chút nữa

Vì tình huống đầu bài viết nêu ra là bạn cần push code lên 2 server khác nhau nên mình mới ngầm định hai repo khác nhau thì thuộc hai server khác nhau. Tuy nhiên, hai repo này thuộc cùng một server cũng được, nhưng thực tế chả ai làm vậy cả 😀
Khoan, thế tại sao có người chỉ cần gõ lệnh git push là được rồi? Để làm được việc này, bạn cần cấu hình repo mặc định cho git, cấu hình như nào thì mình để lại cho bạn coi như bài tập thực hành 😀
Thế còn master? Ờ, nó là cái nhánh (branch) thôi, bạn hoàn toàn có thể thay nó bằng tên khác, tuy nhiên, thông thường, master sẽ luôn là nhánh chính.

Lập trình và hơn thế nữa

Spread the love
  • 2
  •  
  •  
  •  
  •  
    2
    Shares

Leave a Reply

4 Comments on "Git remote và việc push source code lên nhiều nơi cùng lúc"

avatar
  Subscribe  
newest oldest most voted
Notify of
trackback

[…] hai server khác nhau có được không? Hoàn toàn được, bạn vui lòng đọc bài viết Git remote và việc push source code lên nhiều nơi cùng lúc của mình. Vậy là với ssh, từ nay bạn sẽ giảm được một phần thao tác […]

trackback

[…] của mình lên hai server khác nhau? Hoàn toàn được, bạn vui lòng đọc bài viết Git remote và việc push source code lên nhiều nơi cùng lúc của mình. Vậy là với ssh, từ nay bạn sẽ giảm được một phần thao tác […]

trackback

[…] hiểu rõ về vấn đề này, mời bạn đọc bài viết Git remote và việc push source code lên nhiều nơi cùng lúc của […]

trackback

[…] gh mà không phải origin như tôi vẫn thường làm? => Mời bạn đọc bài viết Git remote và việc push source code lên nhiều nơi cùng lúc của mình để hiểu rõ […]