Git

5 0 0
                                    


1. Khác biết giữa git pull branch_Name và git merge branch_Name

-> git pull sẽ kéo code từ trên web về mà merge vào nhánh local hiện tại của mình

-> git merger branch_Name sẽ merge nhánh local của mình với nhanh local hiện tại

Khi merge thì chú ý nên dùng git pull thì hơn. Nếu mình fix tại 1 branch thì hãy check commit và pull hết về rồi hãy merge

Merge code và push lên github/gitlab: giả sử merge branchA vào branchB

C1(Dùng git merge):

B1. git checkout brA

B2. git pull origin brA

B3. git checkout brB

B4. git pull brB

B5. git merge brA (Nhớ là không có tham số nào đằng sau cả)

B6. Nếu có conflict đi đến B7

Nếu không đi đến B9(Không có confilct thì nó sẽ tự động add và commit tại local luôn)

B7. Sửa conflict

B8. Commit với message "merge brA into brB"

B9. Push code lên github/gitLab

C2(Dùng git pull):

B1. git checkout brB

B2. git pull origin brB

B3. git pull origin brA

B4. push nó lên

2. Sau mỗi thao tác commit hoặc merge thì đều nên dùng git log --oneline để check.

3. Revert lại bản commit (Đây là 1 lệnh rất nguy hiểm, không được làm điều này nếu có ai đó đã pull code branch này của mình về, vì khi người ta update và push lên, người ta sẽ push lại cả cái mình đã revert)

C1->C2->C3->C4

muốn revert lại C2 và đè lên cái commit C3,C4.

B0. Back up lại code của C4

B1. git reset --hard check-sum(mã hash của C2) (nếu dùng git reset check-sum thì là soft reset, tức là file thay đổi sẽ được đưa vào vùng modified chứ không mất hẳn như hard reset)

B2. thực hiện chỉnh sửa lại code

B3. git commit

B4. git push --force origin brName hoặc git push -f origin master

4. Lấy các branch mới về

C1. git fetch origin

C2. git pull (không tham số)

5. Chuyển folder trong git bash

-> Để chuyển folder trong git bash, ta dùng lệnh: cd .. / cd link

6. Clone repository

$ git clone https://github.com/libgit2/libgit2

7. Trong gitbash để sửa 1 file(ví dụ index.html)

$ vim index.html

8. Thoát vim

B1. Ấn i để insert

B2. Ấn esc để save

B3. :wq để thoát

9. Xem khác biệt modified file

$ git diff

10. Xem khác biệt trong staged file

$ git diff --staged

11. Commit bỏ qua staging area. File được chỉnh sửa sẽ đi vào commit luôn. (Câu lệnh này chỉ đẩy vào committed area các file tracked mà bỏ qua staging area

, nếu các file untrack thì dùng câu lệnh này cũng sẽ không được add vào staged area hoặc commited area)

$ git commit -a -m 'added new benchmarks'

12. Để xem commit history

$ git log

$ git log --oneline

13. Xem commit history và merge history

$ git log --oneline --graph

14. Để giới hạn số lần log ta dùng câu lệnh

$ git log --since=2.weeks (Lấy ra lịch sửa commit 2 tuần trở lại đây)

15. Unstaging a Staged File

$ git reset HEAD <file>... to unstage.

Khi 1 file là staged file thì có thể reset để đứa nó về modified area.

16. Unmodified file a modified file

$ git checkout --file

Khi 1 file thay đổi. Để lấy lại file như ban đầu ta dùng git checkout

17. xóa 1 branch trên local và lấy lại từ trên server(Sử dụng trong trường hợp branch đã quá rồi, hoặc branch trên server đã bị revert)

B1. git branch -d branchName

B2. git fetch origin

18. Git commit --amend

- Để thay đổi msg (mà ko thay đổi file) thì git commit --amend luôn

- Để thay đổi cả file và nội dung msg, ta làm như sau:

B1. git add fileName

B2. git commit --amend

hướng dẫn: https://kipalog.com/posts/Nhung-cach-khac-phuc-nham-lan-trong-Git

19. Để back lại 1 commit nào đó và quay trở lại bản commit mới nhất

- Để back 1 lại 1 commit nào đó

B1. git checkout abcdef(hash của commit đó)

- Để back lại bản commit mới nhất

B1. git checkout branchName

20. Khi gửi mail không được, hãy check phần mềm diệt virus hoặc firewall.

21. Để check history của 1 file trong git ta dùng 1 trong 2 cách sau:

C1. git log -- [fileName]

C2. gitk [fileName]

\\172.16.3.246\ShareForEveryone

22. Để discard changed file java

git checkout *.java

Sử dụng wildcard.

You've reached the end of published parts.

⏰ Last updated: Jul 09, 2018 ⏰

Add this story to your Library to get notified about new parts!

GitWhere stories live. Discover now