使用指定私钥克隆
# 方案1
GIT_SSH_COMMAND='ssh -i ~/.ssh/specified_private_key' git clone git@github.com:username/repository.git
# 方案2
git clone remote_url.git --config core.sshCommand="ssh -i ~/.ssh/specified_private_key"
从git库中移除.env文件
echo '**/.env' > .gitignore
git rm --cached **/.env
git add .
git commit -m "Ignore all .env files across all directories"
git push
本地忽略.env文件,但是git库不移除
# 添加某个目录的.env文件
git update-index --assume-unchanged path/to/.env
# 循环添加所有的.env文件
find . -name ".env" -exec git update-index --assume-unchanged {} \;
# 检查是否生效
git ls-files -v | grep '^[a-z]'
#恢复
git update-index --no-assume-unchanged path/to/.env
合并feature分支到main分支,保持main分支为一条直线
# 拉取main分支最新内容
git checkout main
git pull origin main
# 切换到目标feature分支,将main分支rebase到目标分支
git checkout feature/demo
git rebase main
# 如果有冲突,解决冲突后,继续rebase
git rebase --continue
# 切换至main分支,合并feature分支
git checkout main
git merge feature/demo
git push origin main
合并远端tag到本地分支
假设远端tag为0.6.15
git fetch upstream
git checkout -b feature/0.6.15 0.6.15
# 合并main分支到新的分支
git rebase main
# 如果有冲突,解决冲突后,继续rebase
git rebase --continue