Quản lý branch với TortoiseGit

Tạo 1 branch mới (nhánh mới)

– Việc đầu tiên khi tạo 1 branch mới, chúng ta sẽ tạo nó dưới local (máy của mình). Click phải vào thư mục chứa repository, trong menu chuột phải hiện ra bạn chọn “Create Branch …”

create-local-branch

– Bạn gõ tên branch mới vào mục Branch (trong ví dụ này là branch1) và click OK

name-branch

– Tiếp theo bạn sẽ chuyển từ branch hiện tại sang branch mới (nếu bạn đã chọn Switch to new branch ở bước trên thì không cần). Click phải vào thư mục chứa repository, chọn Switch/Checkout …

switch_checkout_branch

– Trong cửa sổ hiện ra, bạn chọn branch lúc nãy đã tạo và nhấn OK

switch-to-new-branch

– Bạn có thể commit những thay đổi vào branch mới tạo bằng cách click phải, chọn Git Commit -> [tên-branch-mới]

commit-to-new-branch

Push branch (nhánh) trên local lên trên Git server

– Khi chúng ta tạo branch mới và commit vào branch đó thì Git chỉ hiểu đó là local branch (branch được tạo trên máy của bạn), để cập nhật branch mới lên Git server cho người khác pull về máy của họ được, bạn cần push branch đã tạo ở local lên trên Git server.

push-local-branch-to-git-server

– Một cửa sổ hiện ra tương tự hình bên dưới và bạn nhấn OK

choose-local-branch-to-push

– Để chắc chắn branch mới có được tạo trên Git server hay không thì kết quả trả về nếu có dòng “* [new branch] branch1 -> branch1” nghĩa là bạn đã thực hiện thành công việc push 1 local branch lên trên Git server.

push-local-branch-success

– Sau khi bạn đã thực hiện việc push local branch thành công, thì trong các lần push sau, tên branch đã push sẽ xuất hiện trong phần Destination > Remote như hình bên dưới

push-local-branch-2nd

– Và màn hình kết quả sẽ không còn hiển thị [new branch] nữa

push-local-branch-success-2nd

Fetching the remote branch (lấy nhánh trên Git server về local)

– Sau khi bạn tạo branch (nhánh) mới và push nó lên Git server, những người khác muốn fetch nhánh đó về máy của họ, họ có thể làm như sau: click phải và chọn Create Branch …

create-branch-from-remote

– Tại cửa sổ hiện ra bạn điền tên branch vào mục Name, và chọn branch (nhánh) trên Git server mà bạn muốn lấy về (trong ví dụ này là remotes/origin/branch1) và nhấn OK

name-remote-branch

– Bạn có thể đánh dấu check vào Switch to new branch để tự động chuyển sang branch mới sang khi lấy về, hoặc bạn có thể chuyển branch theo hướng dẫn phía trên. Và đây là kết quả mỗi khi bạn commit và push lên nhánh mới sau khi chuyển nhánh.

push-local-branch-3rd

Merge branch (gộp nhánh)

– Khi chúng ta muốn merge những thay đổi của branch (nhánh) hiện tại đang làm việc vào branch master (nhánh chính), chúng ta sử dụng menu Checkout/Switch để chuyển sang lại branch master

switch-to-master-branch

– Tiếp theo chúng ta sẽ sử dụng menu Merge … để gộp nhánh (merge branch)

merge-branch

– Tại cửa sổ hiện ta, chúng ta sẽ chọn nhánh muốn merge vào nhánh master (trong ví dụ này chúng ta sẽ chọn nhánh branch1 để merge vào master)

merge-branch1-to-master

– Sau khi việc merge branch ở local đã được hoàn tất, đừng quên mọi thay đổi mới chỉ ở local, chúng ta cần push tất cả những thay đổi sau khi merge nhánh lên Git server. Ở đây chúng ta sẽ push nhánh master sau khi được merge thêm từ branch1 lên nhánh master ở trên Git server.

push-local-master-to-remote-master

Xóa nhánh ở local (Deleting the local branch)

– Sau khi đã merge 1 nhánh vào nhánh master, nếu không còn sử dụng nhánh đó bạn có thể xóa nhánh đó ở local bằng cách sau: menu chuột phải và chọn Checkout/Switch

checkout-switch-to-delete-local-branch

– Tiếp theo chọn […] để hiện ra toàn bộ nhánh ở local như hình bên dưới, chọn mục Refs > heads và xóa nhánh bằng cách chọn Delete Branch

delete-local-branch

Xóa nhánh trên Git server (Delete the remote branch)

– Để xóa nhánh không còn xài đến trên Git server, bạn làm tương tự như cách xóa nhánh local, nhưng ở mục Refs sẽ chọn remote

delete-remote-branch