Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Cách sử dụng Git
  6. Cách sử dụng phân nhánh trong Git
  7. Nhập nhánh
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Nhập nhánh

Một cách tiếp cận khác để tích hợp nhánh issue3 vào nhánh chính là lệnh git rebase. Sử dụng nhập nhánh, chúng ta có thể dọn sạch cây lịch sử của mình, như thảo luận trước đó trong hướng dẫn này.

Hãy bắt đầu bằng cách hủy thao tác hợp nhất trước đó.

$ git reset --hard HEAD~

Lịch sử của chúng ta trông như bây giờ:

History before rebase

Tiếp theo, chuyển sang nhánh issue3 và nhập lên nhánh chính.

$ git checkout issue3
Switched to branch 'issue3'
$ git rebase main
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
error: could not apply 470d684... My Commit
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 470d684... My Commit

Khi xung đột xảy ra trong quá trình nhập nhánh, bạn phải giải quyết nó để tiếp tục hoạt động

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3

Khi xung đột được giải quyết, bạn có thể tiếp tục nhập nhánh với tùy chọn --continue.

Trước khi áp dụng các thay đổi của bạn, Git sẽ mở trình soạn thảo văn bản mặc định của bạn (Vim hoặc Emacs trên hầu hết các hệ thống Unix) để cho bạn cơ hội chỉnh sửa tin nhắn nhập nhánh. Nếu bạn muốn thoát và khôi phục thao tác nhập nhánh, bạn có thể làm như vậy với tùy chọn --abort.

$ git add myfile.txt
$ git rebase --continue
Applying: append description of the pull command

Bây giờ, lịch sử của chúng ta trông như thế này:

Current history

Với nhánh issue3 được nhập lên trên main, giờ đây chúng ta có thể phát hành hợp nhất chuyển tiếp nhanh.

Chuyển sang nhánh chính và hợp nhất issue3 với main.

$ git checkout main
Switched to branch 'main'
$ git merge issue3
Updating 8f7aa27..96a0ff0
Fast-forward
myfile.txt |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

Nội dung của tệp myfile.txt bây giờ sẽ giống với nội dung trong lần hợp nhất trước đó. Và lịch sử bây giờ sẽ giống như sau:

Current history

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life