Phần 1: Làm quen với GIT ở local
-
Bước 1: Lên mạng Download GIT và cài đặt
-
Bước 2: Tạo thư mục DEMO-GIT
-
Bước 3: Vào thư mục kích phải chuột chọn GIT BASH
-
Bước 4: Tạo file sử dụng echo
echo "This is first file" > file1.txt
-
Bước 5: Làm quen với
git add
:-
git add .
: Có nghĩa là add hết tất cả các file có trong thư mục DEMO-GIT lên không gian lưu trữ -
git add [filename]
: Có nghĩa là add file có tên [filename] lên không gian lưu trữ
-
-
Bước 6: Làm quen với
git status
:git status
: Có nghĩa là thể hiện trạng thái các file trong thư mục có được đưa lên không gian lưu trữ hay chưa.
-
Bước 7: Làm quen với
git commit
:git commit -m "comment"
: Chính thức up file lên khu vực sẵn sàng
-
Bước 8: Làm quen với git reset:
git reset HEAD~1
: Quay về trạng thái trước đó 1 lần
-
Bước 9: Làm quen với
git log
git log
: Dùng để lưu lại lịch sử commit - Trong đó mỗi commit đều có mã riêng
-
Bước 10: Làm quen với
git revert
git revert + [mã commit]
(Để lấy được mã commit ta dùnggit log
) : Cái này có chức năng quay lại các commit trong lịch sử
-
Bước 11:
git config --global user.name "kontonfon"
-
Bước 12:
git config --global user.email "kontonfon@gmail.com"
Phần 2: Đưa local lên github
-
Bước 1: Tạo tài khoảng trên GITHUB
-
Bước 2: Là tạo repository mới (bằng cách kích chuột vào bên cạnh profile góc trên cùng bên phải)
-
Bước 3: Sau khi tạo xong ta làm các bước hướng dẫn như trong đó họ hướng dẫn
-
Bước 4: Các bước 3 cụ thể như sau:
-
Ở gitbash ta nhập :
git init
-
git commit -M main
: Để chuyển từ nhánh master sang nhánh main -
git remote set-url origin https://github.com/kontonfon/GIT-DEMO.git
-
git push -u origin main
-
Phần 3: Add file README.md edit file README.md và tương tác ngược lại với local
-
Bước 1: Trên github, nếu đã có file README.md thì ta chỉ cần edit, còn nếu chưa có ta chỉ việc add README.md và edit nó và sau đó nhấn “commit new file”
-
Bước 2: Sử dụng câu lệnh
git pull origin main
để có thể có được bản update mới nhất từ github về local (cái này rất hữu ích khi bạn phải làm việc nhóm)
Phần 4: Mời đồng nghiệp vào cùng một dự án trong GIT (Invite a collaborator)
-
Bước 1: Vào github -> Chọn mục setting -> Manage access -> Invite a collaborator
-
Bước 2: Nhập username (hoặc fullname, email) của đồng nghiệp bạn muốn tham gia cùng dự án -> Add [username] vào dự án
Phần 5: Giả sử ta có đồng nghiệp tên là X đã tham gia vào dự án, và bây giờ ta bắt đầu làm việc chung
-
Bước 1: Vì mình chỉ có một máy thôi nên giả sử đồng nghiệp X đang ở máy ảo Kali còn mình là kontonfon làm việc trên máy chính
-
Bước 2: Đồng nghiệp X sẽ vào tài khoản github của mình, tiếp theo vào dự án DEMO-GIT, tạo một nhánh tên là
developer
(ở chỗ mục select nhánh trên github)
- Bước 3: Ở nhánh
developer
ta tạo một file có tên làtest3.txt
có nội dung là : “this is a third file” -> Commit new file. Sau đó ta sẽ thấy một dòng chữ xuất hiện đó làCompare & pull request
-
[Upgrade pro - không cần thiết] Bước 4: Ta vào lại setting -> Branches -> Upgrade
-
Bước 5: Quay lại nick của kontonfon, vào settings -> Kéo xuống cuối cùng tới phần Danger Zone -> Change visibility ->
Make public
-
Bước 6: Vào lại Settings -> Branches -> Nhập vào chỗ
Branch name pattern
:main
-
Bước 7: Tại
Protect matching branches
-> Tick chọnRequire pull request reviews before mergin
-> Nhấn chọncreate
. -
Bước 8: Quay lại Đồng nghiệp X, ta nhấn chọn
compare & pull request
, sau đó ta comment vào , nó sẽ xuất hiện lỗi đó là cầnreview required
- Bước 9: Quay lại nick kontonfon, vào chỗ
Pull requests
ta sẽ thấy được đoạn comment lúc nãy !
- Bước 10: Kích chuột vào
Create test3.txt
, ta sẽ thấy được toàn bộ lỗi đó và kích vàoAdd your review
, sau đó kích vàoReview changes
, sau đó nhập vào comment “Approved” , tích chọnApprove
và chọnSubmit review
-
Bước 11: Ta nhấn vào
Merge pull request
->confirm merge
-
Bước 12: Lúc này ta đã thấy nhánh
developer
đã merge vào nhánhmain
Phần 6: Setting SSH
-
Bước 1: Ở nick kontonfon, chúng ta vào profile -> Settings -> SSH và GPG Keys -> Chọn
New SSH keys
-
Bước 2: Vào ổ đĩa C -> User -> Admin [ở đây tuỳ máy nhé] -> .ssh
-
Bước 3: Tại thư mục .ssh -> Nhấn nút phải chọn
git bash
- Bước 4: Sau đó ta nhập
ssh-keygen -t rsa -b 4096 -C "kontonfon@gmail.com"
Chú ý: -C : Từ C viết hoa nhé
-
Bước 5: Nếu bạn nào thích nhập password thì nhập, còn không thì cứ Enter là được
- Lúc này ở thư mục .ssh nó sẽ tự động sinh key cho chúng ta
- Bước 6: Lúc này ta quay lại chỗ github, điển vào title:
ssh keys
và sau đó mở fileid_rsa.pub
để copykey
vào chỗ key nhé ! và nhấnAdd SSH key
là xong
- Bước 7: Quay lại github ban đầu và vào thực mục DEMO, ta tạo một thư mục mới có tên là
sshkeytesting
để test SSH thử nhé !
- Bước 8: Tại thư mục này, ta mở
git bash
lên, sau đó nhậpgit init
, sau đó ta vào lại github, lấy đường link clone theoSSH
:git@github.com:kontonfon/GIT-DEMO.git
OK, như vậy là ta đã hoàn tất phần setting SSH
Phần 7: Thực hiện các lệnh tạo branch ở local và làm quen với git base
-
Bước 1: Ta vào thư mục GIT-DEMO, nhấn chuột phải chọn git bash
-
Bước 2: gõ lệnh
git branch
để xem nhánh hiện tại -
Bước 3: gõ lệnh
git branch developer
: Thêm nhánhdeveloper
vào vùng kiểm soát -
Bước 4: Gõ lệnh
git branch
: Lúc này ta sẽ thấy có 2 nhánh hiện ra là:developer
vàmain
, dấu*
thể hiện ta đang thực thi quyền trên nhánh main
-
Bước 5: Gõ lệnh
git checkout developer
để chuyển sang nhánhmain
làm việc. Ta có thể sử dụng lại lệnhgit branch
để kiểm tra -
Bước 6: Ta dùng lệnh
ls
để liệt kê các thư mục -
Bước 7: Ta lại gõ lệnh
git checkout main
: Để quay lại nhánh main -
Bước 8: Ta gõ lệnh
git branch feature1
: Để tạo nhanh feature1, nhưng mới ở chỉ local thôi nhé -
Bước 9: Gõ lệnh
git branch
để xem những nhánh ta đang hoạt động -
Bước 10: Gõ lệnh
git switch feature1
: Để chuyển quyền thực thi sang nhánh feature1 -
Bước 11: Gõ lệnh
echo "this is feature1" > f1.txt
-
Bước 12: Gõ lệnh
git switch developer
để chuyển sang nhánhdeveloper
-
Bước 13: Gõ lệnh
echo "this is developer branch first file" > dev1.txt
-
Bước 14: Gõ lệnh
git add .
-
Bước 15: Gõ lệnh
git commit -m "dev first file"
-
Bước 16: Gõ lệnh
git status
-
Bước 17: Gõ lệnh
git switch feature1
. Sau đó gõ lệnhls
-
Bước 18: Gõ lệnh
git status
. Thì thấy filef1.txt
chưa được . Nếu chưa thấy thì ta tạo thêm filef2.txt
bằng câu lệnhecho "this is f2" > f2.txt
-
Bước 19: Gõ lệnh
git add .
Sau đó gõ lệnhgit commit -m "first feature file"
. Sau đó gõ lệnhgit status
để kiểm tra -
Bước 20: Gõ lệnh
git switch developer
để chuyển sang nhánhdeveloper
-
Bước 21: Gõ lệnh
git branch -D feature1
để xoá nhánhfeature1
-
Bước 22: Gõ lệnh
git branch
để hiển thị lại thông tin các nhánh. Khi đó ta sẽ thấy những gì tạo ở nhánhfeature1
sẽ bị biến mất trong nhánhdeveloper
-
Bước 23: Gõ lệnh
echo "this is our second dev file" > dev2.txt
-
Bước 24: Gõ lệnh
git add .
và sau đó gõ lệnhgit commit -m "second file"
, cuối cùng dùng lệnhgit status
để kiểm tra -
Bước 25: Gõ lệnh
git log
để xem lịch sử -
Bước 26: Gõ lệnh
git reset HEAD~1
: Để quay lại commit trước đó 1 lần, và sau đó dùng lệnhgit status
để kiểm tra. Lúc này ta sẽ thấy filedev2.txt
chưa được đưa lên không gian lưu trữ
- Bước 27: Gõ lại lệnh
git add .
và sau đó gõ lệnhgit status
, lúc này filedev2.txt
đã sẵn sàng trên khu vực dự trữ
-
Bước 28: Gõ lệnh
git commit -m "second file"
và sau đó gõ lệnhgit status
-
Bước 29: Vào github của
kontonfon
sau đó vào nhánhdeveloper
-
Bước 30: Quay lại
git bash
sau đó gõ lệnhgit pull origin developer
, sau đó bấmls
- Bước 31: Gõ lệnh
git push origin developer
và ta thấy hình ảnh này trên github
- Bước 32: Ta vào nhánh
developer
trêngithub
. Tiếp theo ta gõgit log
trêngit bash
copymã commit
củasecond file
- Bước 33: Gõ lệnh
git revert
+mã commit
và sao đó gõ lệnhls
, ta sẽ thấy được filedev2.txt
đã biến mất
- Bước 34: Gõ lệnh
git push origin developer
, sau đó quay lại github, lúc này ta thấy filedev2.txt
trên github cũng đã mất !
Trước khi revert
Sau khi revert
- Bước 35: Sau đõ gõ lệnh
echo "second file" > dev2.txt
, sau đó gõ lệnhstatus
-
Bước 36: Gõ lệnh
git add .
và sau đó gõ lệnhgit commit -m "second file"
và sau đó gõ lệnhgit status
. Cuối cùng gõ lệnhls
-
Bước 37: Gõ lệnh
git rm dev2.txt
, và gõ lệnhls
- Bước 38: Gõ lệnh
git status
-
Bước 39: Gõ lệnh
git commit -n "deleted dev2.txt"
và sau đó gõgit status
rồi gõ lệnhls
-
Bước 40: Gõ lệnh
git branch
và tìm hiểugit base
- Bước 41: Gõ lệnh
echo "second file" > dev2.txt
và gõ lệnhecho "third file" > dev3.txt
, rồi gõ lệnhgit status
- Bước 42: Gõ lệnh
git add .
và lệnhgit commit -m "second and third dev file"
, sau đó gõ lệnhgit status
vàls
-
Bước 43: Gõ lệnh
git switch main
và gõ lệnhls
-
Bước 44: Gõ lệnh
git rebase developer
và gõ lệnhls
-
Bước 45: Gõ lệnh
git switch developer
và gõls
-
Bước 46: Gõ lệnh
git push origin developer
-
Bước 47: Vào
github
và vàopull requests
vào đó gõ commentadding dev2 and dev3 file
và nhấnCreate pull request
-
Bước 48: Vào
Assignees
và thêm những thành viên đượcmerge
-
Bước 49: Kích vào
Merge pull request
, sau đó tích vàoUse your administrator privileges to merge this pull request
và nhấnConfirm merge
-
Bước 50: Quay lại nhánh
main
ta thấy được mọi thứ đã đượcmerge
xong !
Phần 8: Làm quen với merge và xử lý conflict khi merge ở local
- Bước 1: Xem sơ đồ
branching strategy
-
Bước 2: Vào
github
củakontonfon
vàgit clone
về và di chuyển vào thư mụcGIT-DEMO
-
Bước 3: Xem sơ đồ thể hiện sự khác nhau giữa
merge
vàrebase
-
Bước 4: Mở
git bash
và gõ lệnhgit branch -a
. Sau đó gõ lệnhgit branch developer
-
Bước 5: Lại gõ lệnh
git branch -a
và gõ lệnhgit switch developer
-
Bước 6: Gõ lệnh
git switch main
-
Bước 7: Gõ lệnh
git branch feature
sau đó gõ lệnhgit branch -a
- Bước 8: Gõ lệnh
git switch feature
và gõ lệnhls
Một điều chú ý là khi ta tạo nhánh mới thì nhánh này sẽ chứa tất cả nội dung có trong nhánh main
- Bước 8: Gõ lệnh
notepad test3.txt
và edit lại nội dung của file này như sau:
- Bước 9: Gõ lệnh
cat test3.txt
để có thể thấy được nội dung trực tiếp ởgit bash
- Bước 10: Gõ
git status
, sau đó gõgit add .
và kiểm tra lại bằnggit status
-
Bước 11: Gõ lệnh
git commit -m "modified third file"
vàgit status
-
Bước 12: Gõ lệnh
git switch main
vàls
. Sau đó gõ lệnhnotepad test3.txt
với nội dung:
- Bước 13: Gõ lệnh
git status
, tiếp theogit add .
và cuối cùng làgit commit -m "updated third file"
- Bước 14: Gõ lệnh
git merge feature
, ta sẽ thấy thông báo xuất hiệnconflict
- Bước 15: Vào trang meldmerge.org và tải
Meld Installer
về,
-
Bước 18: Ta tiến hành cài đặt
Meld Installer
, sau khi cài xong, ta mởMeld
lên và sau đó tắt đi. -
Bước 19: Ta vào ổ đĩa
C/User/Admin/
và mở file.gitconfig
bằngnotepad
.
- Bước 20: Ta
config
file.gitconfig
như sau:
Sau khi config xong ta sẽ thấy một điều vi diệu xuất hiện như sau:
- Bước 21: Ta gõ lệnh
git mergetool
, và giao diệnmeld
sẽ xuất hiện.
- Bước 22: Sau đó ta nhấn vào dấu mũi tên như hình vẽ:
Và kết quả là:
sau đó chúng ta nhấn nút save và tắt giao diện meld.
Chú ý trước khi save, ta phải đưa con trỏ chút vào vùng giữa
- Bước 23: Ta gõ lệnh
git status
, tiếp theo là gõ lệnhgit commit -m "merge conflict"
- Bước 24: Gõ lệnh
ls
vàcat test3.txt
Phần 9: GIT FLOW
-
Bước 1: Vào nick
kontonfon
, tạonew repository
với tên làGIT-FLOW-DEMO
, sau đó bấmcraete reposity
-
Bước 2: Ta
git clone
reposity này về local -
Bước 3: Ta mở
git bash
lên và gõ lệnhgit clone https://github.com/kontonfon/GIT-FLOW-DEMO.git
-
Bước 4: Ta vào thư mục
GIT-FLOW-DEMO
, và vàogit bash
gõ lệnhgit flow init
, sau đó ta liên tục bấm phímEnter
, ta sẽ được ảnh như hình vẽ
Ps: Chú ý lúc này ta đang ở nhánh develop
-
Bước 5: Gõ lệnh
git branch -a
trêngit bash
-
Bước 6: Gõ lệnh
git push --set-upstream origin develop
Ps: Lúc này ta thấy xuất hiện hai branch trên github
- Bước 7: Gõ lệnh
git flow feature start feature1.0
-
Bước 8: Gõ lệnh
git branch -a
-
Bước 9: Gõ lệnh
echo "this is feature1.0 file" > f1.html
và sau đó gõ lệnhgit status
-
Bước 10: Gõ lệnh
git add .
-
Bước 11: Gõ lệnh
git commit -m "feature branch commit"
-
Bước 12: Gõ lệnh
git flow feature finish feature1.0
- Bước 13: Gõ lệnh
ls
và sau đó gõ lệnhgit branch -a
- Bước 14: Gõ lệnh
git switch main
và sau đó gõ lệnhls
- Bước 15: Gõ lệnh
git checkout develop
và gõ lệnhgit push origin
- Bước 16: Gõ lệnh
git flow release start release1.0
và gõ lệnhgit branch -a
- Bước 17: Gõ lệnh
git push --set-upstream origin release/release1.0
-
Bước 18: Gõ lệnh
echo "release notes" > release.txt
, sau đó gẽ lệnhgit add .
-
Bước 19: Gõ lệnh
git commit -m "release notes"
-
Bước 20: Gõ lệnh
git push
và sau đó là lệnhgit push origin
- Bước 21: Gõ lệnh
git flow release finish release1.0
và đó gõ1.0
Ps: Khi kết thúc câu lệnh này, nhánh release sẽ merge vào nhánh developer
- Bước 22: Gõ lệnh
ls
và lệnhgit switch main
và sau đó lại gõ lệnhls
- Bước 23: Gõ lệnh
git push origin
- Bước 24: Gõ lệnh
git tag -l
và lệnhgit switch develop
- Bước 25: Gõ lệnh
git flow hotfix start hotfix1.0
- Bước 26: Gõ lệnh
git branch -a
và gõecho "application bug fixes" > fix.html
- Bước 27: Gõ lệnh
git status
, sau đógit add .
và cuối cùnggit commit -m "hotfix"
- Bước 28: Gõ lệnh
git flow hotfix finish hotfix1.0
Ps: Nếu dùng Vim bạn nên gõ :wq để lưu và thoát, còn ở đoạn gõ tag bạn có thể gõ 1.0
- Bước 29: Gõ lệnh
git branch -a
và lệnhls
- Bước 30: Gõ lệnh
git switch main
vàls
, cuối cùng làgit push origin
- Bước 31: Gõ lệnh
git tag -l
Phần 10: GIT trong Vscode và Intellij
-
Bước 1: Vào github nick
kontonfon
tạonew repository
với tênVSCODE-GIT-DEMO
sau đó ta copy link để clonehttps://github.com/kontonfon/VSCODE-GIT-DEMO.git
-
Bước 2: Ta mở
vscode
lên và vào chỗ biểu tượnggit
- Bước 3: Ta chọn
clone Repository
sau đó copy link clone vào chỗ này:
- Bước 4: Lúc này nó hiện ra ta chỗ để ta lưu, ở đây mình chọn thư mục
Dev
- Bước 5: Lúc này ta thấy được hình ảnh như thế này
-
Bước 6: Ta tạo file
sample1.txt
và filesample2.txt
và sau đó ta mởterminal
lên -
Bước 7: Ta chọn chế độ
output
vàgit
- Bước 8: Sau đó ta chọn vào biểu tưởng
git
- Bước 9: Ta chọn vào biểu tượng
tick
để bắt đầu commit
- Bước 10: Sau đó ta bấm
yes
và gõfirst commit
-
Bước 11: Sau khi bấm xong, mọi thứ đã được hoàn tất !
-
Bước 12: Ta chọn vào dấu
ba chấm
và chọnpush
- Bước 13: Lúc này ta quay lại nick
kontonfon
và thấy mọi thứ đã được update
- Bước 14: Ta
add README
trêngithub
- Bước 15: Ta quay lại chế độ
file
- Bước 16: Ta quay lại chế độ
ba chấm
và chọnpull
-
Bước 17: Lúc này ta tiếp tục tạo một file mới có tên là
sample3.txt
-
Bước 18: Ta tiếp tục lặp lại các hành động
commit
vàpush
như bên trên
- Bước 19: Làm tương tự trên Intellj
Phần 11: Làm qurn GITLAB
-
Bước 1: Ta register một tài khoản trên
git lab
-
Bước 2: Sau khi tạo xong ta sẽ thấy giao diện sẽ như thế này
- Bước 3: Vào
menu
chọnyour project
và sau đó chọnproject
đâu tiên.
-
Bước 4: Ta vào chỗ
Clone
và coply linkhttps://gitlab.com/jumptozero2/hoatien1.git
-
Bước 5: ta vào thư mục
dev
, mởgit bash
và sau đógit clone https://gitlab.com/jumptozero2/hoatien1.git
-
Bước 6: Tiếp theo, ta di chuyển vào thư mục
hoatien1
sau đó gõ lệnhgit init
vàecho "this is the first sample file" > sample1.txt
- Bước 7: Ta gõ lệnh
git status
,git add .
vàgit commit -m "first sample file"
- Bước 8: Gõ lệnh
git config --global user.name "tri ngo"
vàgit config --global user.email "longtutrieu99@gmail.com"
và cuối cùng gõ lệnhgit config --list
- Bước 9: Gõ lệnh
git push origin main