@manhng

Welcome to my blog!

Git (IG)

December 31, 2021 14:42

Git (IG) (edit)

# Do 'git add'
git add src/Input/Data.csv
git add .

# Undo 'git add' before commit?
git rm --cached src/Input/Test.csv
git rm --cached docs

git tag -l
git tag -a v0.1 -m "release version 0.1"

Git - @manhng

Git Handbook - @manhng

Git Command Line - @manhng

Khi bạn gặp tình huống phải lấy lại toàn bộ source của một branch theo một commit xác định

Lý do: Để kiểm tra những thay đổi bạn đã làm ở thời điểm hiện tại so với thời điểm commit xác định ở trên

git checkout -b <new-branch-name> <commit-id-sha>

Git Show: How do I list all of the files in a commit?

git show --pretty="" --name-only d36bc8f4a2f0199fc7121e19712ba0ac763043de

git diff-tree --no-commit-id --name-only -r d36bc8f4a2f0199fc7121e19712ba0ac763043de

git - How do I list all of the files in a commit? - Stack Overflow

Git Log: How to list all commits that changed a specific file?

git log -- follow -- filename BE/Web.Api/Controllers/DocumentApiController.cs

git - How to list all commits that changed a specific file? - Stack Overflow

Khi bạn muốn xóa bin, obj phía BE mà không muốn ảnh hưởng đến node_modules phía FE

Get-ChildItem .\ -Include bin,obj -Recurse | Where-Object {-not($_.FullName.ToLower().Contains("node_modules"))} |foreach ($_) { Remove-Item $_.fullname -Force -Recurse }

Remove bin, obj via command prompt

for /d /r . %d in (bin,obj) do @if exist "%d" rd /s/q "%d"

taskkill /im VBCSCompiler.exe /f /t
taskkill /IM iisexpress.exe /F
taskkill /im msbuild.exe /f /t

Remove bin, obj via a .bat file

for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"

Hướng dẫn sử dụng git – Các lệnh cơ bản của GIT

git config

Một trong các lệnh được dùng nhiều nhất là git config, có thể được cấu hình cho cá nhân với các giá trị của emails, thuật toán cho diff, username và file format,… Ví dụ, command bên dưới có thể dùng cho email:

 git config --global user.email sam@google.com

git init

Lệnh này được dùng để tạo GIT repository. Cách dùng:

git init

git add

Lệnh git add có thể được dùng để thêm file vào index. Ví dụ, command sau có thể thêm một file có tên temp.txt vào thư mục local vào index:

git add temp.txt

git clone

Lệnh git clone được dùng với mục đích check out. Nếu respository phụ thuộc vào server từ xa, sử dụng:

git clone alex@93.188.160.58:/path/to/repository

Ngược lại, nếu một bản repository đang hoạt động tại local đã được tạo, hãy dùng:

git clone /path/to/repository

git commit

Lệnh git commit được dùng để commit thay đổi từ đầu. Hãy lưu ý là thay đổi không được áp dụng cho repository của server từ xa :

git commit –m "Message to go with the commit here"

git status

Lệnh git status hiển thị danh sách thay đổi của files được thêm hoặc commited. Cách dùng:

git status

git push

git push là một lệnh được sử dụng nhiều của git. Một lệnh push đơn giản sẽ gửi thay đổi tới master branch của repositories của server từ xa được chỉ định với một thư mục. Ví dụ:

git push origin master

git checkout

Lệnh git checkout có thể được dùng để tạo branch hoặc chuyển giữa chúng. Ví dụ, lệnh sau tạo một branch mới và chuyển tới nó;

command git checkout -b <branch-name>

Để chuyển từ branch này sang branch khác, hãy dùng:

git checkout <branch-name>

git remote

Lệnh git remote giúp user kết nối tới repository từ xa. Lệnh sau liệt kê danh sách repositories từ xa mà đang được cấu hình:

git remote –v

Lện này cũng giúp người dùng kết nối từ repository ở local tới remote server:

git remote add origin <93.188.160.58>

git branch

Lệnh git branch có thể được dùng để liệt kê, tạo hoặc xóa branches. Để liệt kê tất cả các branches đang có trong repositories, hãy dùng:

git branch

Để xóa branch:

git branch –d <branch-name>

git pull

Để merge tất cả các thay đổi trên remote repository tới thư mục đang chạy trên local, pull command cần được dùng. Cách dùng:

git pull

git merge

Lệnh git merge được dùng để merge một branch vào một branch đang hoạt động. Cách dùng:

git merge <branch-name>

git diff

Lệnh git diff được dùng để liệt kê xung đột. Để hiển thị xung đột với base file, sử dụng:

git diff --base <file-name>

Command bên dưới được dùng để hiển thị mâu thuẫn giữa branches sắp được merge:

git diff <source-branch> <target-branch>

Để hiển thị các mâu thuẫn hiện tại, sử dụng:

git diff

git tag

  • Annotated tag
  • Light-weighted tag

Git - git-tag Documentation (git-scm.com)

Git Tag Explained: How to List, Create, Remove, and Show Tags in Git (freecodecamp.org)

  1. git tag <name-of-tag>
  2. git tag v1.3 (=> Light-weight tag)
  3. git tag -a v1.3 (=> Annotated tag )
  4. git tag with the -a, -s, or -m options
    • git tag
    • git show v1.3
    • git tag -l *-rc*
    • git tag -l "v2.0*"
    • git tag -a -f v1.3
    • git push origin v1.3
    • git checkout v1.3
    • git tag -d v1.3

git log

Chạy git log cho ra danh sách commits trên branch  với thông tin cần thiết. Một output đơn giản có thể là:

commit 15f4b6c44b3c8344caasdac9e4be13246e21sadw
 Author: Alex Hunter <alexh@gmail.com>
 Date:   Mon Oct 1 12:56:29 2016 -0600

git reset

Để reset index và thư mục đang chạy với lần commit cuối cùng, git reset command được dùng. Cách dùng:

git reset --hard HEAD

git rm

git rm có thể được dùng để loại bỏ files từ trong index và thư mục đang hoạt động. Cách dùng:

git rm filename.txt

git stash

Là một trong số ít lệnh cơ bản ít được biết đến, git stash giúp bạn lưu lại thay đổi mà chưa được commited ngay lập tức, nhưng tạm thời. Sử dụng:

git stash

git show

Để hiển thị thông tin về bất kỳ git object nào, hãy dùng git show. Ví dụ:

git show

git fetch

git fetch cho phép user tải tất cả object từ remote repository mà không có trên thư mục local. Ví dụ sử dụng:

git fetch origin

git ls-tree

Để hiện tree object với tên và mode của mỗi item, và giá trị blob’s SHA-1, sử dụng command, hãy dùng command git ls-tree. Ví dụ:

git ls-tree HEAD

git cat-file

Sử dụng giá trị SHA-1, hiển thị loại của object bằng cách dùng command git cat-file. Ví dụ:

git cat-file –p d670460b4b4aece5915caf5c68d12f560a9fe3e4

git grep

git grep giúp người dùng tìm kiếm qua nội dung dạng cây cho cụm từ và từ. Ví dụ, để tìm từ www.hostinger.com trong tất cả các file:

git grep "www.hostinger.vn"

gitk

gitk là một giao diện đồ họa cho local repository có thể được kích hoạt bằng cách gõ và chạy:

gitk

git instaweb

Với lệnh git instaweb, một web server có thể chạy command, một web server có thể chạy trên local repository. Một trình duyệt web có thể tự động được chỉ định tới nó. Ví dụ:

git instaweb –httpd=webrick

git gc

Để tối ưu repository với garbage collection, sẽ dọn dẹp các file không cần thiết và tối ưu chúng, sử dụng:

git gc

git archive

Lệnh git archive giúp người dùng tạo file zip hoặc file tar chứa các thành phần của một cây repository. Ví dụ:

git archive --format=tar master
git archive --format=zip master

git prune

Qua lệnh git prune, objects không có bất kỳ pointers nào sẽ được xóa. Cách dùng:

git prune

git fsck

Sử dụng command git fsck để xác định lỗi của bất kỳ object

git fsck

git rebase

Lệnh git rebase được dùng để áp dụng lại commits của một branch khác.  Ví dụ:

git rebase master

Tham khảo

Hướng dẫn sử dụng git - Các lệnh cơ bản của GIT (hostinger.vn)

Git Tutorial: A Complete Beginner’s Guide — Hostinger

NHỮNG LỆNH PHỔ BIẾN TRONG GIT | CO-WELL Asia

Git Commands That Saved My Life At Least Once

August 13, 2021 14:44

Git Commands That Saved My Life At Least Once (edit)

Usage:

git clean -d -f -f
git checkout dev-feat-01
git pull

git checkout dev
git pull

git merge dev-feat-01 --no-ff

1. Get or set user and email variables

git config user.name
git config user.email
git config --system user.email
git config --global user.email
git config --local user.email

2. How to change the author (email) of one or more commits

git commit --amend --no-edit --author="New Name<new_email@free.com>"
git push --force-with-lease

3. Add new changes to the last commit

git commit --amend

4. Remove a commit from the git log

git reset --hard HEAD^

But let’s say your git log is as below:

* 97c8db67 fix: commit 3 is correct as well
* 69e04606 feat: commit 2 is correct
* 9f130ee1 fix: commit 1 needs to be removed

If you need to remove the 9f130ee1 git-sha (“commit 1 needs to be removed”), you could do the interactive rebase:

git rebase -i HEAD~3

Where 3 is the number of commits that you are going to look for before choosing which you would like to remove. Then a text editor will be open with this content:

pick 9f130ee1 fix: commit 1 needs to be removed
pick 69e04606 fix: commit 2 is correct
pick 97c8db67 fix: commit 3 is correct as well

5. Editing an old commit message

git rebase --interactive HEAD~3

6. How to do a rebase from the default branch

git pull --rebase origin main

This will basically:

  1. undo your local commits
  2. pull commits from the remote
  3. add your local commits back

If there are any git conflicts you will be asked to solve them before you push.

7. Reverting local file back to original version in a different branch

git checkout origin/master FILE_PATH_AND_NAME

8. Reverting/Aborting local commit

git reset HEAD~1 (Windows)

git reset HEAD^ (Unix)

9. Showing file remote history

git diff FILE_COMMIT_HASH FILE_PATH

10. Discarding unnecessary  files

git checkout -- .

11. Reverting local commits

git fetch

git reset --hard origin/REMOTE_BRANCH_NAME
git clean -d -f -f

12. Showing committed files that your will push to the remote

git diff --stat --patch origin REMOTE_BRANCH_NAME
git log --oneline 5a984958..49a7891a

References:

http://tugrulaslan.com/list-of-life-saving-git-commands/

https://betterprogramming.pub/7-git-commands-that-saved-my-life-once-or-forty-two-times-c76cc94244de

Duplicating a repository

July 12, 2021 23:14

Duplicating a repository (edit)

Duplicating a repository - GitHub Docs

git clone --bare "https://github.com/manhng83/AbpFamework.git"

create new repo: AbpFramework

git push --mirror "https://github.com/manhng83/AbpFramework.git"

Git Handbook

March 24, 2021 16:20

Git Handbook (edit)

Git (IG) - @manhng

Advanced Git - @manhng (HAY HAY HAY)

Git Commands - @manhng

Duplicating a repository - @manhng

---- Delete local branch
git branch -d develop-test

---- Delete remote branch
git push origin --delete develop-test

---- Loại bỏ những thay đổi đã được commit của bạn
git reset --hard

git checkout -b develop-new-branch
git add .
git commit -m "Comment"
git push --set-upstream origin develop-new-branch

git checkout -b dev (tạo nhánh mới và chuyển sang nhánh đó)
git checkout -b dev master (tạo nhánh mới từ nhánh gốc master và chuyển sang nhánh vừa tạo đó)
git add . commit -m "Update Login API" (gộp 2 lệnh trên 1 dòng lệnh)
git log --all --oneline (kiểm tra lịch sử commit)

git checkout dev
git merge login (merge fast-forward)

git checkout dev
git merge login --no-ff (merge non fast-forward)

Hotfix

1) Tạo nhánh mới từ nhánh gốc master
git checkout -b fix-xxx master

2) Bạn merge nhánh hotfix vào cả hai branches master và dev, phần sửa lỗi sẽ xuất hiện ở cả hai branches, giúp history không bị rẽ nhánh bất ngờ.

git checkout master
git merge fix-xxx --no-ff

git checkout dev
git merge fix-xxx --no-ff

Cách phân nhánh và chia việc trong nhóm với Git – Ehkoo

Kết luận

Chúng ta có thể tóm tắt bài này lại như sau:

  • Dự án được chia thành nhiều nhánh, bao gồm master, dev và có thể có staging
  • Các nhánh tính năng được chia ra từ dev, phát triển độc lập, được rebase trước khi merge lại vào dev
  • Rebase có thể thay đổi một chút history, hoặc squash lại thành một commit duy nhất
  • Merge có thể là fast-forward hoặc non-fast-forward
  • dev sẽ được merge vào master mỗi khi triển khai. Trường hợp có staging, dev sẽ được merge vào staging, và staging sẽ được merge vào master.
  • Các nhánh hotfix sẽ được chia ra từ master, sau đó merge --no-ff vào master  dev

Dĩ nhiên bài viết này chỉ mang tính tham khảo, vì mỗi team mỗi công ty sẽ có những cách làm riêng.

GIT (Agile)

November 23, 2019 15:23

GIT (edit)

Unable to sync because the current branch does not track a remote branch. Push the branch to sync changes with the remote.

Cannot switch to dev because there are uncommitted changes. Commit or undo your changes before you switch branches. See the Output window for details.

Git

October 5, 2017 17:50

Git Usage (edit)

Tổng hợp 35 lệnh GIT cơ bản - Deft Blog (shareprogramming.net)

Top 35 Git Commands With Examples - DZone DevOps

Giải thích chi tiết những câu lệnh thường dùng trong Git - Thau Nguyen

Git Clone

Git Clone cho phép các lập trình viên copy một Remote Repo về Local, ngoài ra có thể ứng dụng trong các trường hợp sau:

  • Copy một Repo từ máy Remote về Local
  • Copy một Repo từ thư mục này sang một thư mục khác
  • Copy một Repo từ một Url (https) ví dụ GitHub
git clone --recursive https://github.com/garymcleanhall/AdaptiveCode.git
git clone --recursive https://github.com/AdaptiveCode/AdaptiveCode.git

Khi bạn muốn xem thay đổi trên nhánh hiện tại

git reflog

With git reflog check which commit is one prior the merge (git reflog will be a better option than git log). Then you can reset it using:

git reset --hard commit_sha

There's also another way:

git reset --hard HEAD~1

It will get you back 1 commit.

Be aware that any modified and uncommitted/unstashed files will be reset to their unmodified state. To keep them either stash changes away or see --merge option below.

Khi bạn muốn bỏ tất cả thay đổi của lệnh git merge

git reset --hard HEAD~1

git reset --merge HEAD~1

Khi bạn muốn bỏ tất cả thay đổi

git checkout -f

git clean -d -f -f

git reset --hard HEAD

Khi bạn gặp tình huống phải lấy lại toàn bộ source của một branch theo một commit xác định

Lý do: Để kiểm tra những thay đổi bạn đã làm ở thời điểm hiện tại so với thời điểm commit xác định ở trên

git checkout -b <new-branch-name> <commit-id-sha>

git checkout -B <new-branch-name> <commit-id-sha>

bitbucket - how to checkout a specific commit from git - Stack Overflow

git checkout 9ce920d

git checkout -B new_branch

git reset 9ce920d

Add Git Ignore to existing Repository | FreeCode Spot

Trong quá trình làm việc, chúng ta có thể rơi vào trường hợp khi đang thực hiện một công việc dang dở nhưng phải tạm dừng và chuyển qua một nhánh mới để thực hiện tiến trình khác. Nếu chúng ta chỉ muốn lưu lại các thay đổi mà chưa commit thì git stash sẽ giúp bạn.

Bạn đang có vài thay đổi và muốn chuyển qua branch khác, bạn chỉ cần chạy git stash hoặc git stash save.

Lúc này bạn đã có thể chuyển sang branch mới.

Để xem lại cách thay đổi đã được lưu lại, bạn dùng lệnh: git stash list.

Apply thay đổi: git stash apply.

Xoá toàn bộ: git stash clear.

Một số định nghĩa thường gặp khi sử dụng Git. (viblo.asia)

Có 2 lợi ích cơ bản và quan trọng của VCS là:

  • Lưu lại toàn bộ lịch sử thay đổi của phiên bản. Giúp lập trình viên theo dõi và khôi phục dễ dàng sau này.
  • Việc chia sẻ code có thể public cho bất kỳ ai, và cũng có thể để chế độ private cho những người có thẩm quyền được truy cập và tải code về. Giúp việc chia sẻ đơn và dễ dàng với Git.
  • Git hỗ trợ làm việc offline.
  • Hoàn toàn miễn phí.

[Git Là Gì] - Các lệnh cơ bản khi làm việc với Git | Vietnix

Git Cheet Sheets

Bạn không thể nào nhớ được hết các lệnh, lúc này bạn nên sử dụng các Git Cheet Sheets để dễ dàng tìm được lệnh Git bạn cần:

1) Tìm kiếm tên người dùng

git shortlog -s --author="John"

git log --pretty="%an"

2) Hiển thị danh sách tất cả người dùng

git shortlog -sn --all

3) Hiển thị log

git log --pretty=oneline

git log --oneline

git log --oneline --author="John"

git log --author="John"

git log --author="John" --oneline

git log:

  • 1afd158ebdd8c2e3282d8f90fda33775acc8477c
  • 122f3796d1420471aa9f7f30c6db64c5a3f07114
  • fd8c0be685c75b14ebe53e522408c23baa8bbbc4

git show 1afd158ebdd8c2e3282d8f90fda33775acc8477c

git show --name-only 1afd158ebdd8c2e3282d8f90fda33775acc8477c

git log --name-only 1afd158ebdd8c2e3282d8f90fda33775acc8477c

git diff --name-only 1afd158ebdd8c2e3282d8f90fda33775acc8477c..HEAD

4) How do I list all of the files in a commit?

git diff-tree --no-commit-id --name-only -r bd61ad98
git show --pretty="" --name-only bd61ad98
git log -p
git show da475798411a3e2769219b4a7655b6821c4d1901

5) How can I list all commits that changed a specific file?

git log --follow -- filename

6) Hiển thị danh sách tệp thay đổi

git log --author="John" --oneline

  • 44669cc
  • 1afd158
  • ...

git show --name-only 44669cc

  • test.cs
  • text.txt

git-tips/tips: Most commonly used git tips and tricks. (github.com) (HAY HAY HAY HAY HAY)

Syncing a Fork of a GitHub Repository with Upstream | Blog (ardalis.com) (HAY HAY HAY HAY HAY)

Basic Syntax | Markdown Guide

Advanced Git - @manhng (git)

Git Common Line Interface - @manhng (git log, git show, gitk --follow)

Git Commands - @manhng (git)

Git - @manhng (git)

7 Git Commands That Saved My Life Atleast Once | by Lucas Tagliani Aguiar | Aug, 2021 | Better Programming

13 Git Commands Every Developer Must Know (zepel.io)

15 Git Hacks to Save your Life as a Developer | by GitShip | Medium

Life-saving git commands - DEV Community (HAY HAY HAY)

4 Useful Git Commands That Save Time | Codica (HAY HAY HAY)

List of life saving git commands – Tugrul ASLAN

Git stash

git stash save

git stash list

git stash apply

Show all developers and comments of the last N commits

git shortlog -sne

git shortlog --summary --numbered --email

git log

git log -1

git log -5

git show --summary

git show --summary -1

git show --summary -5

git log -n 5 --author=ducnn

git log --oneline -n 5 --author=ducnn

Showing all commits

git rev-list --remotes

git rev-list --all --remotes --pretty

git rev-list --all --pretty=oneline

git log --name-status --oneline

git log origin/master..HEAD

git diff --name-only <SHA, tag start> <SHA, tag end>

git diff --name-only HEAD HEAD~3

git diff origin/master..HEAD

Showing committed files that your will push to the remote

git diff --stat --patch origin dev

Chuyển toàn bộ thay đổi sang nhánh mới

git switch -c <new-branch>
git checkout -b <new-branch>
git add <files>
git commit -m "<Brief description of this commit>"

Bỏ thay đổi đang có

git checkout -f

git clean -d -f -f

git reset --hard
git reset --hard HEAD

Bỏ thay đổi

1) Don't remove staged files

git reset --soft HEAD^

2) Remove staged files

git reset HEAD^

If you want to undo commit and lose all the changes, you can use

git reset --hard HEAD^

Xóa nhánh (delete branch)

// delete branch locally
git branch -d localBranchName

// delete branch remotely
git push origin --delete remoteBranchName

Clone chỉ một branch

git clone git@gitlab.company.vn:adc/company-api.git --branch dev --single-branch company-api

Git - @manhng

Advanced Git - @manhng

Cách phân nhánh và chia việc trong nhóm với Git – Ehkoo

Nhàn hơn cùng git stash! (viblo.asia)

Kết luận

Chúng ta có thể tóm tắt bài này lại như sau:

  • Dự án được chia thành nhiều nhánh, bao gồm master, dev và có thể có staging
  • Các nhánh tính năng được chia ra từ dev, phát triển độc lập, được rebase trước khi merge lại vào dev
  • Rebase có thể thay đổi một chút history, hoặc squash lại thành một commit duy nhất
  • Merge có thể là fast-forward hoặc non-fast-forward
  • dev sẽ được merge vào master mỗi khi triển khai. Trường hợp có staging, dev sẽ được merge vào staging, và staging sẽ được merge vào master.
  • Các nhánh hotfix sẽ được chia ra từ master, sau đó merge --no-ff vào master  dev

Dĩ nhiên bài viết này chỉ mang tính tham khảo, vì mỗi team mỗi công ty sẽ có những cách làm riêng.

Khi bạn muốn bỏ tất cả thay đổi

git checkout -f

git clean -d -f -f

git reset --hard HEAD

Khi bạn gặp tình huống phải lấy lại toàn bộ source của một branch theo một commit xác định

Lý do: Để kiểm tra những thay đổi bạn đã làm ở thời điểm hiện tại so với thời điểm commit xác định ở trên

git checkout -b <new-branch-name> <commit-id-sha>

git checkout -B <new-branch-name> <commit-id-sha>

bitbucket - how to checkout a specific commit from git - Stack Overflow

git checkout 9ce920d
git checkout -B new_branch
git reset 9ce920d

Git - Học nghiêm túc một lần (Phần 1)

https://viblo.asia/p/git-hoc-nghiem-tuc-mot-lan-phan-1-OeVKBo6JZkW

Git - Học nghiêm túc một lần (Phần 2)

https://giaphiep.com/blog/git-hoc-nghiem-tuc-mot-lan-phan-2-25505

Git - Những câu lệnh hữu dụng

https://viblo.asia/p/tap-hop-nhung-cau-lenh-git-huu-dung-dWrvwWr2vw38

Git - Những câu lệnh cơ bản

https://jusfunny.wordpress.com/2016/11/09/cac-lenh-git-co-ban-ma-toi-hay-dung/

Hủy lệnh merge

git merge --abort

git reset --hard HEAD

Các câu lệnh thường dùng

git checkout master
git pull origin master
git merge test
git push origin master

Getting Started

http://rogerdudler.github.io/git-guide/

Chuyển sang nhánh develop và xóa những thay đổi ở nhánh hiện tại

Giả sử bạn đang ở nhánh my_branch và muốn chuyển sang nhánh develop đồng hời không muốn giữ thay đổi ở nhánh hiện tại

git checkout -f develop

Undo a Git merge | Reverting a Git Merge

git reset --hard HEAD~1
git reset --hard ORIG_HEAD
git revert HEAD

Remove file

Use git rm:

git rm file1.txt
git commit -m "remove file1.txt"

But if you want to remove the file only from the Git repository and not remove it from the filesystem, use:

git rm --cached file1.txt
git commit -m "remove file1.txt"

And to push changes to remote repo

git push origin branch_name

Remove directory from git and local

You could checkout 'master' with both directories;

git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)

Remove directory from git but NOT local

As mentioned in the comments, what you usually want to do is remove this directory from git but not delete it entirely from the filesystem (local)

In that case use:

git rm -r --cached myFolder

Getting Started (continue)

git init

git config --list

git config --global core.editor emacs

git config --global merge.tool vimdiff

git config user.name
git config user.email

git config user.name "John Doe"
git config user.email johndoe@example.com

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

git clone "https://manhnv@git.company.vn/crm/dev.git"

Determine the URL that a local git repository was originally cloned from

git config --get remote.origin.url
git remote show origin

git add -all
git commit -am "<message>"
git push origin master

git reset --hard

git clean -f

git clean -n
Would remove untracked_file

git clean -f
Removing untracked_file

git clean -dn
Would remove untracked_dir/

git clean -df
Removing untracked_dir/

Tham khảohttp://techkids.vn/blog/cac-cau-lenh-git-khong-khong-biet/ 

git checkout develop

git merge ONGAME-134

comment "ONGAME-134…

press I for INSERT

press ESC for exit INSERT

:qw

ghi và thoát

:q!

lưu lại nội dung như cũ

press ENTER

1/ Một số lệnh git sử dụng với Git Bash

Bạn commit gặp lỗi và muốn xem chuyện gì đang xảy ra?

git log --oneline -10 

git reset --soft c66f836

git status

git log --oneline -10

Bạn muốn xem lệnh commit gần nhất?

git show

Bạn muốn xem có bao nhiêu branch và đang ở branch nào?

git branch

Bạn muốn merge code từ nhánh develop vào nhánh master?

git checkout master

git merge develop

git status

git push origin master

2/ Một số lỗi thường gặp với Git

Gặp lỗi git không commit được vì có nhiều tài khoản git trên cùng 1 máy

Cmd > control userpasswords2

Advanced > Manage Passwords > Web Credentials > Remove all credentials related with git, github...

Git

June 7, 2017 15:29

Tham khảo

https://www.visualstudio.com/en-us/docs/git/gitquickstart

Một số chú ý:

1) Checkout new branch

Đôi khi muốn Visual Studio nhìn thấy new branch thì bạn phải vào một branch khác và thực hiện lênh fetch cái branch khác đó thì mới có thể nhìn thấy new branch

2) Stash Save

Trước khi định merge code từ trên origin về với code của bạn, bạn nên lưu lại những thay đổi của bạn bằng Stash Save như hình dưới

3) Merge code

 

4) Commit & Push

GIT

Những câu lệnh thường dùng

git add -all
git commit -am "<message>"
git push origin master

 

git init

 

Nếu bạn sử dụng GitHub và bạn đẩy code lên một repo GitHub được lưu trữ online, thì khi đó bạn sử dụng remote repo (repo từ xa). Tên mặc định cho cái remote repo đó là origin. Nếu bạn clone một project từ GitHub thì tự thân nó đã có origin rồi. Bạn có thể xem URL của remote repo đó bằng câu lệnh git remote -v.

 

git remote -v

 

Nếu bạn muốn tự khởi tạo Git của riêng mình và muốn nó liên kết với GitHub, thì bạn phải tự tạo trên GitHub trước, copy URL của repo, sử dụng lệnh git remote add origin <URL>, thay URL của repo vào “<URL>”. Từ đó, bạn có thể thêm, commit và push đến remote repo của bạn.

git remote -v
git remote add origin <url>
git remote set-url origin <url>

 

Câu lệnh cuối được sử dụng khi bạn cần đổi remote repo. Giả dụ bạn copy một cái repo của người khác và bạn muốn chuyển owner thành tài khoản GitHub của bạn. Thì bạn sử dụng câu lệnh đó.

 

git clone <url>

 

Câu lệnh git branch liệt kê tất cả các branch (nhánh) trong local của bạn.

Nếu bạn muốn tạo một branch mới, bạn có thể sử dụng câu lệnh git branch <tên branch>.

Câu lệnh git checkout <tên branch> sẽ chuyển sang một nhánh đã tồn tại khác.

Bạn cũng có thể sử dụng lệnh git checkout -b <tên branch> để tạo một nhánh và ngay lập tức chuyển sang nhánh đó.

Hầu hết mọi người sử dụng câu lệnh này thay vì dùng tự tạo một branch riêng rồi nhảy sang branch đó.

 

git branch

git branch <name>

git checkout <name>

git checkout -b <name>

 

Nếu bạn đã thực hiện một loạt các thay đổi cho một branch, giả dụ tên branch là “develop”, và bạn muốn hợp nhất branch đó vào branch chính – master của bạn, bạn sử dụng câu lệnh git merge <tên branch>. Bạn sẽ checkout nhánh master, rồi chạy lệnh git merge develop để hợp nhất nhánh develop vào nhánh master.

 

git merge <branch>

 

Nếu bạn làm việc với nhiều người, bạn sẽ gặp trường hợp trên GitHub đã được cập nhật rồi nhưng máy bạn lại không có những thay đổi đó. Khi đó, bạn có thể sử dụng lệnh git pull origin <tên branch> để kéo những thay đổi mới nhất về.

 

git pull origin <branch>

 

Nếu bạn muốn biết những file nào đã bị thay đổi và những file nào được theo dõi, bạn có thể sử dụng lệnh git status. Nếu bạn muốn biết những file đã được thay đổi bao nhiêu, bạn có thể sử dụng lệnh git diff để biết được mỗi file đã thay đổi bao nhiêu dòng code.

 

git status

git diff --stat

 

Tham khảo

http://techkids.vn/blog/cac-cau-lenh-git-khong-khong-biet/

 

 

Categories

Recent posts