git 设置和取消代理
# 设置ss
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
# 设置代理
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
# 子模块
git submodule add https://github.com/vicobill/FNut.git Assets/FNut
git submodule init
git submodule update
git clone -r https://github.com/vicobill/project.git
git还原、回退
# 回退到上个版本
git reset --hard HEAD
# 回退到指定commit
git reset --hard <commit_id>
# 回退目录
git reset HEAD <dir>
git checkout <dir>
# 同步回退到远程
git push origin HEAD --force
git 上游分支、合并
# 设置上游分支
git remote add <epic> https://github.com/EpicGames/UnrealEngine.git
# 同步上游
git pull <epic>
# 合并上游分支
git merge remotes/<epic>/4.26
# 合并多个commit消息
git rebase -i <不需要合并的commit>
打开vi后,指令部分:
pick 执行此commit
squash 合并到前一commit
fixedup 同squash,但丢弃此commit消息
分支:
- 查看所有分支:
git branch -a
- 删除本地分支:
git branch -d <branch-name>
- 删除远程分支:
git push origin --delete <branch-name>
git将历史记录打包
git archive -o ../lastest.zip NEW-COMMIT-ID $(git diff --name-only OLD-COMMIT-ID NEW-COMMIT-ID)
# 将日志导出
git log --date=iso --pretty=format:"%h","%an","%ad","%s" --since="18 day ago" >> ../changes.log
git 标签操作
- 新增标签:
git tag -a <tag-name> -m "消息内容"
- 推送新增的标签:
git push origin <tag-name>
- 删除标签:
git tag -d <tag-name>
- 删除远程标签:
git push origin :refs/tags/<tag-name>