Skip to content

Git 常规命令

常规流程

查看状态

shell
git status

添加提交的文件

shell
git add filename
# 添加单个文件
git add -A
# 添加所有变动

提交到本地

shell
git commit -m "xxx"

快速提交到本地

shell
git commit -a -m "xxx"
# 相当于git add和git commit的集合

提交到git服务器

shell
git push

修改 commit

修改 commit 注释

shell
git commit --amend

push 后撤回 commit

获取历史 commit ID

shell
git log

恢复命令

shell
git reset commit ID
# 不加参数默认为 --mixed
# --mixed 不改动工作区修改,撤销commit,撤销add.
# --soft 不改动工作区修改,撤销commit,不撤销add.
# --hard 恢复工作空间改动代码,撤销commit,撤销add.
git push origin master --force

合并分支忽略文件

项目根目录创建.gitattributes文件,添加需要忽略的文件路径.例如:

?> .vscode/* merge=ours

shell
git config --global merge.ours.driver true
# 项目根目录执行

Tag 相关命令

获取历史 commit ID

shell
git log

创建本地标签

shell
git tag -a v1.0.0 commitID -m "v1.0.0"

push 本地标签到 GitHub

shell
git push origin v1.0.0

删除本地标签

shell
git tag -d 标签名

删除 GitHub 标签

shell
git push origin :refs/tags/标签名

上传大于100M文件

brew安装Git LFS,或者访问官网下载安装.

shell
brew install git-lfs

进入仓库执行一次

shell
git lfs install

跟踪大文件

shell
git lfs track "*.pdf"
# 无扩展名可使用仓库所在相对路径
git lfs track "test/test"

添加.gitattributes文件

shell
git add .gitattributes
# 或者直接添加所有文件
git add -A

最后正常commit和push即可

修改仓库

GitHub 创建新仓库,不要添加.gitignoreREADME.md

shell
git remote remove origin
git remote add origin git@github.com:xxxxx/xxxxx.git
git push --set-upstream origin main