常用的Git操作命令
Git是一個開源的分布式版本控制系統(tǒng),可以有效、高效地處理從小型到大型項目的版本管理。以下是一些常見的Git操作命令:
1.初始化本地倉庫:
git init
2. 克隆遠(yuǎn)程倉庫:
git clone <repository_url>
3. 查看當(dāng)前倉庫狀態(tài):
git status
4. 添加文件到暫存區(qū):
git add <file_name>
// 添加指定文件到暫存區(qū),(在指定文件時,可以使用通配符來匹配多個文件。常用的通配符有*和?,其中*匹配任意多個字符,?匹配一個字符。例如:提交src文件夾下的main.c文件和utils文件夾下的所有文件,可以使用以下命令:git add src/main.c utils/*)
# 或者添加所有文件
git add .
6. 撤回暫存區(qū)中的指定文件:
git restore --staged <file>
# 撤回所有文件
git restore --staged .
6. 提交暫存區(qū)的變動到本地倉庫:
git commit -m "commit message"
#強(qiáng)制提交
git commit -m "commit message" --no-verify
# 添加對跟蹤文件所做的所有更改并提交
git commit -am "commit message"
# 修改最后一次提交的commit信息
git commit --amend -m "新的commit信息"
7. 回退版本
git reset --soft <commit>: 回退到指定 commit,保留修改內(nèi)容,并將這些修改放在暫存區(qū)。(常用)
git reset --mixed <commit>: 回退到指定 commit,保留修改內(nèi)容,但將這些修改放在工作目錄。(常用)
git reset --hard <commit>: 回退到指定 commit,刪除所有修改內(nèi)容,包括暫存區(qū)和工作目錄中的修改。(慎用)
"git push origin --force"命令,將本地分支的更改強(qiáng)制推送到遠(yuǎn)程倉庫
8. 將本地倉庫的改動推送到遠(yuǎn)程倉庫:
git push
# git push -f 強(qiáng)制推送到遠(yuǎn)程 這個命令的作用是將自己本地倉庫的代碼直接推送至倉庫,完全以你的提交為準(zhǔn),之前其他人的提交都會被覆蓋(謹(jǐn)慎使用)
9. 獲取遠(yuǎn)程倉庫的最新變動:
git pull
10. 查看提交歷史:
git log
11. 合并分支:
git merge <branch_name> // 將branch_name內(nèi)容合并到當(dāng)前分支
# --no-ff:即使合并解析為快進(jìn),也創(chuàng)建合并提交
12. 放棄本次合并回到解決沖突之前的狀態(tài)
git merge --abort //本地解決沖突完成之后
13. 查看(所有)分支:
git branch (-a)
# 查看遠(yuǎn)程分支
git branch -r
14. 創(chuàng)建本地分支:
git branch <branch_name>
15. 創(chuàng)建并切換到新分支:
git checkout -b <new_branch_name>
16. 創(chuàng)建遠(yuǎn)程分支:
git push origin dev:dev // git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
17. 查看本地分支與遠(yuǎn)程分支對應(yīng)關(guān)系:
git branch -vv
18. 本地分支與遠(yuǎn)程分支建立關(guān)系:
git branch --set-upstream-to=origin/dev dev // 將本地dev與origin/dev(遠(yuǎn)程)建立聯(lián)系
19. 切換分支:
git checkout <branch_name>
20. 刪除分支:
git branch -d <branch_name>
# 使用 -D 標(biāo)志強(qiáng)制刪除分支
git branch -D <branch_name>
21. 刪除遠(yuǎn)程分支:
git push origin --delete <branch_name>
22. 拉取遠(yuǎn)端的開發(fā)分支并在本地建立一個dev-local分支與其對應(yīng):
git checkout -b dev-local origin/dev
# 如果我們此時遠(yuǎn)程沒有origin/dev ,我們想從main分支拉一個新的分支出來:
# git checkout -b dev origin/main # 基于main分支新建一個分支
# git push origin dev:dev # 創(chuàng)建遠(yuǎn)程dev分支
# git branch -vv # 查看本地dev分支與遠(yuǎn)程分支對應(yīng)關(guān)系,如果對應(yīng)關(guān)系不為origin/dev,執(zhí)行下面命令建立關(guān)系:
# git branch --set-upstream-to=origin/dev dev
# 如果出現(xiàn)報錯:fatal: cannot set up tracking information; starting point ‘origin/main’ is not a branch
# 可能您的 origin 遠(yuǎn)程設(shè)置為僅獲取某些分支。
# 解決辦法:git remote set-branches --add origin main
23. 查看遠(yuǎn)程倉庫:
git remote -v
24. 修改關(guān)聯(lián)的遠(yuǎn)程倉庫:
git remote set-url origin <repository_url>
25. 添加遠(yuǎn)程倉庫:
git remote add <remote_name> <repository_url>
26. 拉取特定分支的遠(yuǎn)程倉庫:
git pull <remote_name> <branch_name>
27. 設(shè)置遠(yuǎn)程倉庫:
git push -u <remote_name> <branch_name>
28. 刪除文件:
git rm <file_name>
29. 查看所有提交記錄的修改文件信息:
git log --stat
30. 查看最后一次提交記錄的修改文件信息:
git show --raw
31. 指定commit_id對應(yīng)修改文件列表:
git show --raw commit_id
32. 查看某個文件的歷史提交信息:
git log <file_name>
33. 查看指定author的修改信息:
git log --author=<author_name>
34. 查看所有修改相關(guān)的commitID和修改文件信息:
git log --pretty=oneline
35. 簡潔版本查看ziyi最近的五次提交:
git log --author=ziyi --online -5
36. 查看所有標(biāo)簽:
git tag
37. 打標(biāo)簽
git tag -a -m <tag_name>
38. 查看/設(shè)置用戶名:
git config --global user.name [‘你的用戶名’]
# git config --global user.name ziyi:設(shè)置用戶名為ziyi
# git config --global user.name:查看用戶名
39. 查看/設(shè)置用戶郵箱
git config --global user.email [‘你的郵箱’]
40. 安裝rimraf:
npm install -g rimraf
41. 刪除node_modules:
rimraf node_modules
42. 刷新/拉取 遠(yuǎn)程分支:
git fetch
43. stash儲藏
(1).單次儲藏及應(yīng)用:
git status //進(jìn)行儲藏
git stash list // 查看儲藏
git stash pop // 應(yīng)用最近一次儲藏
(2). 多次儲藏及應(yīng)用
git stash -m [stashMessage] // 標(biāo)記此次儲藏
git stash apply index // 取出指定index的儲藏的修改到工作區(qū)中
git stash drop index // 將指定index的儲藏從儲藏記錄列表中刪除
git stash clear // 批量刪除存儲

浙公網(wǎng)安備 33010602011771號