Get Started. It's Free
or sign up with your email address
Git by Mind Map: Git

1. Git clone

1.1. 1. Đăng nhập tài khoản git

1.2. 2. Vào repository muốn clone về, Nhìn vô góc trên bên phải của rep sẽ thấy nut clone, nhấp vô đó rồi sao chép link.

1.3. 3. Open terminal, di chuyển đến thư mục cần clone. Có thể clone nhánh master luôn hoặc là tạo 1 branch để clone về. Note: Nên tạo branch để clone về nếu muốn phát triển project của bản thân

1.4. $ git clone /path/to/repository/

1.5. Để clone một project trên server, bạn có thể sử dụng https hoặc ssh.

2. git pull

2.1. Khái niệm : Dùng để lấy source code từ server về working space và merge với code hiện tại trên máy nếu có thể. Nếu không thể merge tự động thì có thể merge thủ công.

2.2. Một số tùy chọn :

2.2.1. Git pull <remote> : Lấy bản sao từ xa được chỉ định ở nhánh hiện tại và ngay lập tức merge nó vào bản sao local. Điều này giống như là git fetch <remote> theo sau là git merge origin/<current-branch>.

2.2.2. Git pull --no commit <remote> :

2.2.2.1. Tương tư như lời gọi mặc định, tìm nạp remote content nhưng không tạo ra một merge commit mới.

2.2.3. Git pull --rebase: Tương tự như các pull trước. Nhưng thay vì sử dụng git merge để tích hợp nhánh từ xa với nhanh cục bộ, hãy sử dụng git rebase.

2.2.4. git pull --verbose

2.2.4.1. Cung cấp verbose output khi pullo, hiển thị nội dung được tải xuống và các chi tiết hợp nhất

3. Config

3.1. Đầu tiền cần config username/email đăng ký github

3.2. Git hỗ trợ 3 tùy chọn

3.2.1. –global, –system, –local.

3.2.2. $ git config --global user.name <username>

3.2.3. $ git config --global user.email <email>

3.2.4. Để kiểm tra lại config của bạn : git config --list

4. Git Init

4.1. Git init giups tạo mới 1 project cho máy bạn, lựa chọn bất kỳ thư mục nào bạn muốn tạo

5. Git branch

5.1. Mặc đinh bạn sẽ ở nhánh master. nên tạo một branch mới khi clone về.

5.2. $ git branch <name_branch>

5.3. Liệt kê các nhánh đang cos: git branch -a

6. Git checkout

6.1. Trước khi muốn thay đổi source code, điều đầu tiên mà bạn cần phải làm là checkout một nhánh.

6.2. $ git checkout <name_branch or master>

6.3. Để tạo mới một nhánh và checkout luôn nhánh đó thì bạn dùng câu lệnh:

6.3.1. $ git checkout -b <name_branch>

7. Git Add

7.1. Sau khi bạn thay đổi source code: thêm mới, sửa, xoá files,… Bạn cần phải cập nhật lên Staging Area

7.2. Để cập nhật hết các files:

7.2.1. git add .

7.3. Cập nhật các files với đuôi xác định:

7.3.1. $ git add .<tên đuôi>

7.4. Cập nhật các files dựa vào tên của chúng:

7.4.1. $ git add <name_file_1> [<name_file_2> ... <name_file_n>]

8. Git commit

8.1. Sau lệnh add, bạn cần sử dụng câu lệnh Commit để đây thông tin thay đổi lên Local Respository:

8.1.1. git commit -m 'nội dung tuỳ thích'

9. Git push

9.1. Sau câu lệnh Commit, thông tin mới chỉ được cập nhật lên Local Repository. Nếu muốn cập nhật lên server thì bạn phải sử dụng câu lệnh push:

9.1.1. $ git push origin <name_branch>

9.2. Ngoài ra, nếu chưa tồn tại remote trên server thì bạn cần phải add mới một remote trước rồi mới push:

9.2.1. git remote add origin <remote_url>

9.2.2. git push origin <name_branch>

10. Fetch

10.1. Câu lệnh Git này dùng để lấy source code từ server về Local Repository:

10.1.1. $ git fetch <remote>/<name_branch>

10.1.1.1. Tiếp nếu muốn merfe vô WD thì git merge origin/<current-branch>

11. remote urls

11.1. Kiểm tra các đường link github của project

11.1.1. git remote -v

12. Change url

12.1. git remote set-url origin git://new.url.here

13. conflict

13.1. When will conflict happen? - Changing the same file + same line - A deleted file X, B modified file X

13.1.1. * Method1: conflict xảy ra ở branch nào thì chủ của branch đấy phải đi fix Chuyển sang branch master và pull code mới nhất về Rồi chuyển qua cái branch muốn rebase -> rebase trên branch master(git rebase master) tiếp đó là sửa lại trong file theo ý muốn (nhớ delete những === <<< >>>) rồi git add lại branch bị conflict --> git rebase --continue -=-> git log kiểm tra -> git push origin <branchName> -f

13.1.2. Method2: Đầu tiên là checkout master rồi pull code về đã ->> quay lại: git checkout <branchHaveConflit> --> git merge master (merge master vô cái branch checkout) tiếp là vào trong file khắc phục lại thôi, bỏ mấy cái gạch gạch đi --> git add . --> git commit -m 'merge master' --> push lại lên( git push origin <branchName>)