Git 使用手冊
一、Git 簡介與安裝
- 什么是Git?
? Git 是一個分布式版本控制系統,用于跟蹤文件變化,支持多人協作開發。
- 安裝步驟
? Windows:通過 Git官網 下載安裝包,按默認配置安裝即可。
? macOS:使用 Homebrew 安裝:brew install git。
? Linux:使用包管理器安裝(如 apt install git 或 yum install git)。
二、基礎配置
首次使用前需配置用戶信息:
配置用戶名(提交時顯示)
git config --global user.name “你的名字”
配置郵箱(提交時顯示)
git config --global user.email “你的郵箱@example.com”
查看配置信息
git config --list
三、Git 核心命令
- 倉庫初始化與克隆
? 初始化本地倉庫:
git init # 在當前目錄創建.git文件夾,初始化倉庫
? 克隆遠程倉庫:
git clone [遠程倉庫URL] # 例:git clone https://github.com/user/repo.git
2. 文件操作(添加、提交、狀態查看)
在Git中使用個人訪問令牌(Token)來進行身份驗證,切換Token的步驟如下:
生成新的Token
-
登錄到你的代碼托管平臺(如GitHub、GitLab等)。
-
進入個人設置或賬戶設置頁面,找到與訪問令牌相關的選項。
-
生成新的Token,并記錄下來,注意保密。
替換舊的Token
? 如果你之前是通過命令行直接使用Token進行認證,例如在克隆倉庫時使用了https://@github.com/user/repo.git這種形式,那么可以直接修改命令中的部分為新的Token。
? 如果你使用了Git的憑證存儲,以Windows為例,通常可以通過以下步驟替換Token:
-
打開“控制面板”,找到“用戶賬戶”。
-
點擊“管理你的憑據”。
-
在“Windows憑據”中找到與你的代碼托管平臺相關的條目,點擊“編輯”。
-
將“密碼”字段更新為新的Token,然后點擊“保存”。
在Linux或macOS系統上,如果你使用了git-credential-store等工具來存儲憑證,可通過相應的命令來更新憑證,如git credential-store set,具體用法可參考相關工具的文檔。
? 查看文件狀態:
git status # 查看未跟蹤/已修改的文件
? 添加文件到暫存區:
git add [文件名] # 添加單個文件
git add . # 添加所有文件
? 提交暫存區文件到本地倉庫:
git commit -m “提交說明(必填)”
3. 分支管理
? 查看分支:
git branch # 查看本地分支(當前分支前有*標記)
git branch -a # 查看所有分支(包括遠程分支)
? 創建分支:
git branch [分支名] # 例:git branch feature/new-feature
? 切換分支:
git checkout [分支名] # 例:git checkout main
? 創建并切換分支:
git checkout -b [新分支名]
? 合并分支(在目標分支執行):
git merge [待合并分支名] # 例:git merge feature/new-feature
? 刪除分支:
git branch -d [分支名] # 刪除本地分支(需先切換到其他分支)
4. 遠程倉庫操作
? 添加遠程倉庫:
git remote add [別名] [遠程URL] # 例:git remote add origin https://github.com/repo.git
? 查看遠程倉庫:
git remote -v
? 拉取遠程倉庫代碼:
git pull [遠程別名] [分支名] # 例:git pull origin main
? 推送本地代碼到遠程:
git push [遠程別名] [分支名] # 例:git push origin main
5. 版本回退與歷史查看
? 查看提交歷史:
git log # 查看詳細提交記錄
git log --oneline # 簡潔模式顯示提交記錄
? 回退到指定版本:
git reset --hard [commit哈希值前7位] # 例:git reset --hard a1b2c3d
? 撤銷未提交的修改:
git checkout – [文件名] # 撤銷文件修改,恢復到上一次提交狀態
四、進階功能
- 解決沖突
當合并分支出現沖突時:
-
打開沖突文件,會看到類似 <<<<<<< HEAD 和 >>>>>>> 標記沖突內容。
-
手動修改沖突部分,保留正確代碼。
-
保存文件后,執行 git add [文件名] 和 git commit 完成合并。
-
標簽(Tag)
? 創建標簽:
git tag [標簽名] # 例:git tag v1.0.0
git tag -a [標簽名] -m “標簽說明” # 帶說明的標簽
? 推送標簽到遠程:
git push origin [標簽名] # 推送單個標簽
git push --tags # 推送所有未推送的標簽
3. 變基(Rebase)
? 將當前分支基于另一個分支重新應用提交:
git rebase [目標分支] # 例:git rebase main
五、實用配置與技巧
- 別名設置
簡化常用命令:
git config --global alias.[別名] “[命令]” # 例:git config --global alias.lg “log --oneline --graph”
設置后,可通過 git lg 代替 git log --oneline --graph。
- .gitignore 文件
在倉庫根目錄創建 .gitignore 文件,用于忽略不需要跟蹤的文件(如日志、編譯文件等):
示例:
*.log
node_modules/
dist/
六、常見問題與解決方案
- 忘記提交說明怎么辦?
git commit --amend -m “新的提交說明” # 修改最后一次提交的說明 - 遠程分支已刪除,本地仍顯示?
git fetch -p # 清理無效的遠程分支引用