一、克隆與配置
克隆倉庫是使用git的第一步,也是最基礎的操作。在macOS上使用git更是方便,因為git已經預裝在操作系統中。
1、克隆倉庫:
git clone https://github.com/SOMEUSER/SOMEPROJECT.git
2、在克隆後的倉庫中配置git的全局用戶名和郵箱:
git config --global user.name "YOUR NAME"
git config --global user.email "EMAIL@ADDRESS.COM"
3、配置git的默認編輯器(可選):
git config --global core.editor "nano"
二、基礎操作
git的基礎操作包括提交修改、查看歷史記錄和分支操作。
1、提交修改:
1)git add:把工作區的修改添加到暫存區,準備提交。
git add file1.txt
2)git commit:把暫存區的修改提交到本地倉庫。
git commit -m "Add file1.txt"
2、查看歷史記錄:
1)git log:查看提交歷史記錄。
git log
2)git diff:查看當前工作區和已提交的版本之間的差異。
git diff HEAD
3、分支操作:
1)創建分支:
git branch feature
2)切換分支:
git checkout feature
3)合併分支:
git merge feature
三、高級應用
1、Git Flow
Git Flow是一種分支管理策略,適用於長期維護的軟件項目。它把分支分為主分支(master)、開發分支(develop)、功能分支(feature)、發佈分支(release)和修復分支(hotfix)。
通過使用Git Flow,可以更好地組織代碼,易於管理和交付。
1)安裝Git Flow:
brew install git-flow-avh
2)啟用Git Flow:
git flow init
3)創建功能分支:
git flow feature start feature_branch
4)完成功能分支:
git flow feature finish feature_branch
2、Git Hooks
Git Hooks是一種git的鉤子(Hook)函數機制,可以讓git在某些操作時運行特定的腳本。常用的Git Hooks包括在提交前進行代碼檢查、在提交時自動生成ChangeLog等。
1)創建Hook腳本:
touch .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
nano .git/hooks/pre-commit
2)編輯Hook腳本:
#!/bin/sh
# Check if code is formatted
if [ $(npx prettier --list-different "src/**/*.js" | wc -l) -ne 0 ]; then
echo 'Some files are not formatted, please use Prettier to format them first.'
exit 1
fi
# Check if code builds successfully
if ! yarn build; then
echo 'Failed to build project, please fix before commit.'
exit 1
fi
3)啟用Hook腳本:
chmod +x .git/hooks/pre-commit
3、Submodules
Submodules是一種git的子模塊機制,可以讓一個git倉庫包含其他git倉庫作為子模塊,方便管理依賴。
1)添加子模塊:
git submodule add https://github.com/SOMEUSER/SOMEMODULE.git
2)更新子模塊:
git submodule update --init --recursive
3)刪除子模塊:
git rm SOMEMODULE
rm -rf .git/modules/SOMEMODULE
4、Git LFS
Git LFS(Large File Storage)是一種git的大規模文件存儲機制,適用於管理大型圖像、音頻、視頻和數據文件等。
1)安裝Git LFS:
brew install git-lfs
2)啟用Git LFS:
git lfs install
3)追蹤大文件:
git lfs track "*.psd"
總結
本文對macosgit從克隆到高級應用做了詳細的闡述,包括基礎操作、Git Flow分支管理、Git Hooks、Submodules和Git LFS大文件存儲等。讀者可以根據自己的情況選擇相應的應用。
原創文章,作者:NDSJ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/136480.html