目錄
1. 初始設置(首次使用 Git 時)
2. 日常提交工作流程
場景一:已有本地項目,首次連接到遠程倉庫
場景二:已有遠程倉庫,克隆到本地
3. 更精細的文件管理
4. 提交信息規范
5. 分支管理策略
6. 高級技巧
7. 團隊協作注意事項
8. .gitignore 文件
提交代碼到 Git 倉庫是版本控制的核心操作。以下是完整的 Git 代碼管理流程:
1. 初始設置(首次使用 Git 時)
# 配置用戶信息(全局設置,一次即可)
git config --global user.name "你的姓名"
git config --global user.email "你的郵箱"# 檢查配置
git config --list
2. 日常提交工作流程
場景一:已有本地項目,首次連接到遠程倉庫
# 進入項目目錄
cd your-project# 初始化本地倉庫
git init# 添加遠程倉庫地址
git remote add origin https://github.com/用戶名/倉庫名.git# 添加所有文件到暫存區
git add .# 提交更改
git commit -m "初始提交:項目基礎結構"# 推送到遠程倉庫(首次推送需要 -u 參數)
git push -u origin main # 或 master,取決于你的默認分支名
場景二:已有遠程倉庫,克隆到本地
# 克隆遠程倉庫
git clone https://github.com/用戶名/倉庫名.git# 進入項目目錄
cd 倉庫名# 進行代碼修改...# 添加修改的文件到暫存區
git add 文件名 # 或 git add . 添加所有修改# 提交更改
git commit -m "描述你的修改內容"# 推送到遠程倉庫
git push origin main
3. 更精細的文件管理
# 查看當前狀態(哪些文件被修改/添加/刪除)
git status# 查看具體更改內容
git diff# 添加特定文件
git add index.html style.css script.js# 添加所有修改的文件(不包括新文件)
git add -u# 添加所有文件(包括新文件和修改的文件)
git add -A
# 或
git add .# 提交時跳過暫存區,直接提交所有已跟蹤文件的修改
git commit -a -m "提交所有修改"# 撤銷暫存區的文件(取消 add)
git reset 文件名# 撤銷對文件的修改(危險操作,會丟失更改)
git checkout -- 文件名
4. 提交信息規范
提交信息應該清晰明了,遵循約定式提交(Conventional Commits)更好:
類型(范圍): 簡短描述
詳細描述(可選)
突破性變更說明(可選)
關聯問題編號(可選)
常見類型:
-
feat
: 新功能 -
fix
: 修復bug -
docs
: 文檔更新 -
style
: 代碼格式調整 -
refactor
: 代碼重構 -
test
: 測試相關 -
chore
: 構建過程或輔助工具變動
示例:
git commit -m "feat(用戶認證): 添加第三方登錄功能- 實現Google OAuth登錄
- 添加Facebook登錄支持
- 更新登錄頁面UIcloses #123"
5. 分支管理策略
# 創建新分支
git branch 新分支名# 切換分支
git checkout 分支名# 創建并切換分支
git checkout -b 新分支名# 查看所有分支
git branch -a# 合并分支
git checkout main
git merge 功能分支名# 刪除分支
git branch -d 分支名 # 安全刪除(已合并)
git branch -D 分支名 # 強制刪除(未合并)
6. 高級技巧
# 修改最后一次提交(追加修改或修改提交信息)
git commit --amend# 暫存當前工作,臨時切換分支
git stash # 暫存修改
git stash pop # 恢復暫存的修改# 查看提交歷史
git log
git log --oneline --graph --all # 圖形化查看# 撤銷提交(保留更改)
git reset --soft HEAD~1# 完全撤銷提交(丟棄更改)
git reset --hard HEAD~1
7. 團隊協作注意事項
-
頻繁拉取更新:開始工作前先?
git pull
-
小步提交:每次提交只解決一個問題
-
明確提交信息:讓他人理解你的修改意圖
-
使用特性分支:不要在 main/master 分支直接開發
-
定期推送:避免本地積壓太多未推送的提交
8. .gitignore 文件
創建?.gitignore
?文件來排除不需要版本控制的文件:
# 依賴目錄
node_modules/
vendor/# 環境配置
.env
.env.local# 日志文件
*.log# 系統文件
.DS_Store
Thumbs.db# 構建輸出
dist/
build/
通過遵循這些實踐,可以有效地使用 Git 管理代碼,保持項目歷史清晰可追溯。