Git 常用操作整理

本地倉庫操作

概念理解

  • 不跟蹤 ignored (工作區(qū)可自行保留或編碼, 但 git 不會去跟綜)
  • 未暫存 unstaged (未被忽略、且相比暫存區(qū)發(fā)生了變化, 包括以下三種)
    • 未追蹤 untracked
    • 已修改 modified
    • 已刪除 deleted
  • 已暫存 staged (準備提交)
  • 已提交 committed (保存在了本地的數(shù)據庫)

常用指令

一、狀態(tài)修改類

1. 忽略跟蹤 ignored

根據規(guī)則(根目錄下的 .gitignore 文件)忽略對指定內容的跟蹤

# 忽略全部 todo 文件夾
todo
# 忽略根目錄下的 node_module 文件夾, 及全部子內容
/node_module
# 忽略文件夾全部子目錄下的指定內容
/doc/**/*.js
# 忽略文件夾直接子目錄下的指定內容
/build/*.js
# 對指定內容 排除忽略
# !build/main.js

2. 暫存 unstaged => staged

加入下次提交隊伍; 包括內容的 新增 / 修改 / 刪除 等;

# 指定文件
git add ./index.js
# 指定文件夾全部子內容
git add ./src/**/*
# 全部修改
git add .
git add *

3. 重命名 / 移動位置

# 相當于三步操作 1.刪除 prev ; 2.新增 target ; 3. 暫存這兩步修改
git mv [prev-file] [target-file]

4. 從暫存區(qū)撤回 staged => modified

git reset HEAD index.js

5. 移除

# 從已提交中移除并從磁盤中刪除 committed => deleted
git rm ./index.js
# 當暫存區(qū)有修改時, 強制刪除 committed => deleted
git rm -f ./index.js
# 僅從暫存區(qū)移除;committed / staged => untracked
git rm --cached readme.txt

6. 提交 staged => committed

git commit -m "commit msg"

7. 暫存+提交 modified => committed

git commit -a -m "commit msg"

8. 修改提交

  • 修改 commit 內容,通過 --amend 補充進去; 不增加 commit 數(shù)量;
  • 修改 commit 的備注信息; 通過-m
git commit -m 'initial commit'
git add forgotten_file
git commit --amend -m "modify commit"

9. 撤銷提交

// Todo:待補充

二、狀態(tài)查看類

1. 當前 整體狀態(tài)

# 新建未跟蹤 / 修改未暫存 / 暫存未提交 / 領先的提交數(shù)量
git status

2. 當前 未暫存內容

git diff

3. 當前 已暫存未提交的內容

git diff --cached

4. 已提交信息(包括全部提交歷史)

pretty-format 的其他參數(shù)

# 全部信息
git log

# 查看最近2次提交的差異
git log -p -2

# 指定信息;表格化
git log --pretty=format:"%h - %an, %ar : %s"

# 數(shù)據化: 增、刪、改的代碼行數(shù)
git log --stat

二、本地倉庫 <==> 遠程倉庫操作

連接

  1. 設置用戶
git config --global user.name [user name]
git config --global user.email [user email]
  1. 生成 sshKey, 授權操作
# 生成公鑰
ssh-keygen -t rsa -b 4096 -C [user_email]
cat ~/.ssh/id_rsa.pub

# 復制后, 粘貼到 github網站個人設置頁 => setting => SSH and GPG keys 
  1. 新建遠程倉庫
  • 在 github 網站操作
  1. 新建本地倉庫
git init
  1. 連接本地倉庫和遠程倉庫 (如果提示無權限, 檢查第 1、2 步)
# short-name 默認是 origin
git remote add [short-name] [github-repo-url]

常用操作

拷貝 遠程 => 本地

git clone [github-repo-url]

拉取代碼

git pull [short-name] [branch-name]

推送代碼

git push [short-name] [branch-name]

分支管理

// Todo:待補充
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容