Git是什麼?

簡單說,Git是一個“版本控制工具”,能幫我們記錄項目文件的所有修改,隨時回退到任意版本,還能多人協作開發時合併代碼。今天我們就來整理最常用的Git命令,從基礎到進階,讓你拉取、推送、切換分支一次搞定!

一、基礎操作:初始化與克隆

1. 初始化本地倉庫

作用:把一個普通文件夾變成Git可以管理的倉庫。
命令git init
場景:剛建了個新項目,想開始用Git管理,就執行這個命令。
例子

# 在項目文件夾裏執行
git init  

2. 克隆遠程倉庫(從別人那裏拉項目)

作用:把別人放在遠程倉庫(比如GitHub、GitLab)的項目複製到本地。
命令git clone 倉庫地址
場景:第一次接觸項目,想直接把代碼拉到自己電腦。
例子

# 克隆GitHub上的倉庫(假設地址是https://github.com/xxx/xxx.git)
git clone https://github.com/xxx/xxx.git  

二、日常操作:提交與查看

1. 查看文件狀態

作用:看看哪些文件被修改、新增了,或者還沒提交。
命令git status
場景:寫了代碼後,想知道現在倉庫的“變化情況”。
例子

# 執行後會顯示:哪些文件被修改(紅色)、哪些已暫存(綠色)
git status  

2. 暫存修改

作用:把“修改的文件”先放到一個臨時區域(暫存區),之後統一提交。
命令git add 文件名(單次)或 git add .(全部)
場景:改了多個文件,想分批提交,或者先暫存所有修改。
例子

# 暫存所有修改的文件
git add .  

# 只暫存某個文件(比如index.html)
git add index.html  

3. 提交到本地倉庫

作用:把暫存區的修改“正式記錄”到本地倉庫,相當於“保存當前版本”。
命令git commit -m "提交信息"
場景:完成一個小功能,比如“修復登錄bug”,就提交一下。
例子

# 提交信息要簡潔明瞭,說明改了啥
git commit -m "修復首頁導航欄錯位問題"  

三、分支操作:切換與合併

1. 查看分支列表

作用:看看當前有哪些分支(本地分支)。
命令git branch
場景:想知道自己在哪個分支,或者有哪些分支可以切換。
例子

# 執行後會列出所有分支,當前分支前面有*號
git branch  

2. 創建並切換分支

作用:新建一個分支,並且直接切換過去(最常用!)。
命令git checkout -b 新分支名
場景:要開發新功能(比如“用戶註冊”),不想直接改主分支,就新建一個分支。
例子

# 創建並切換到名爲"feature/register"的新分支
git checkout -b feature/register  

3. 切換已有分支

作用:從當前分支切換到另一個已有的分支。
命令git checkout 已有分支名
場景:比如寫完功能,要回主分支合併代碼。
例子

# 切換到主分支master
git checkout master  

4. 合併分支

作用:把一個分支的修改“合併”到當前分支(比如把feature分支的功能合併到master)。
命令git merge 要合併的分支名
場景:功能開發完成後,把分支代碼合併到主分支,方便其他人看到。
例子

# 先切換到master分支,再合併feature/register分支
git checkout master  
git merge feature/register  

四、核心操作:拉取與推送

1. 拉取代碼(更新本地)

作用:從遠程倉庫拉取最新代碼,避免本地和遠程版本衝突。
命令git pull 遠程倉庫名 分支名
場景:別人先推了代碼到遠程,你要先拉取才能繼續開發。
例子

# 拉取origin倉庫的master分支到本地
git pull origin master  

2. 推送代碼(上傳本地)

作用:把本地的提交推到遠程倉庫,讓團隊其他人看到你的修改。
命令git push 遠程倉庫名 分支名
場景:完成本地提交後,推到遠程倉庫保存(第一次推分支要加-u)。
例子

# 第一次推feature/register分支到origin(-u設置上游分支,以後直接git push就行)
git push -u origin feature/register  

# 後續推同一分支,直接git push即可
git push  

五、撤銷與恢復(避坑必備)

1. 撤銷未提交的修改

作用:如果改了文件但沒提交,想回到之前的狀態。
命令git checkout -- 文件名
場景:改了代碼覺得不對,想放棄修改。
例子

# 撤銷對index.html的修改
git checkout -- index.html  

2. 撤銷提交(回退到上一個版本)

作用:如果提交了錯誤內容,想回退到上次提交前的狀態。
命令git reset --soft HEAD~1
場景:提交信息寫錯了,或者代碼沒寫完就誤提交了。
例子

# 回退到上一次提交前(--soft保留修改,--hard直接刪除修改,謹慎!)
git reset --soft HEAD~1  

六、注意事項

  1. 提交信息要明確:每次提交都寫清楚“改了啥”(比如“修復登錄按鈕點擊無反應”),方便自己和別人回溯。
  2. 分支命名規範:推薦用feature/xxx(功能分支)、bugfix/xxx(修復分支)等格式,避免混亂。
  3. 多人協作前先拉取:如果和別人同時改了同一個文件,先git pull拉取再推,避免覆蓋別人的修改。
  4. 慎用力度操作git reset --hard會直接刪除修改,一定要先確認!

七、總結

Git命令不用死記硬背,常用的就那幾個:init(初始化)、clone(克隆)、add(暫存)、commit(提交)、status(狀態)、pull(拉取)、push(推送)、checkout(分支)、merge(合併)。多練習幾次,拉取、推送、切換分支這些操作會變得很自然~

需要更多場景的命令?評論區告訴我,下次補充!

小夜