git常用指令

基本提交流程

1
2
3
4
5
6
git add .
git commit -m "提交信息"
git push origin HEAD:refs/for/develop

git pull origin <branch>
git branch --set-upstream-to=origin/<branch> <branch>

生成ssh key

  • 使用 ed25519(推荐,安全性更高):
1
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 使用 RSA(兼容性更好):
1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-C 后面是注释,通常填写你的邮箱。

如何查看某一个提交修改的内容

1
git show 提交id

清除未被跟踪的文件

  • 删除所有未跟踪的文件
    1
    git clean -f
  • 删除所有未跟踪的文件和目录
    1
    git clean -fd
  • 删除包括.gitignore中忽略的未跟踪文件和目录(慎用)
    1
    git clean -xfd

查询全部的分支

1
git branch --all

修改远程仓库地址

1
2
git remote -v 查看当前
git remote set-url origin 新地址

合并当前分支或其他分支中的某一个或几个提交

1
2
3
git cherry-pick 提交id
git cherry-pick 提交idA 提交idB
git cherry-pick 提交idA..提交idE

已经加入暂存区的文件想要撤回到未跟踪的状态

1
2
3
git restore --staged <file>
git reset HEAD <file>
git rm --cached <file>

导出项目代码

1
git archive --format zip --output "./output.zip" develop

某个提交被覆盖要恢复上次的提交

1
git revert -n HEAD

暂存某个文件或文件夹

1
2
3
4
5
6
7
git stash push <files/dir>             -> 不能填加描述
git stash push -m "描述" <files/dir> -> -m 可带描述
git stash save "描述" -> 暂存全部文件,可带描述
git stash list -> 查看暂存列表
git stash show -> 查看某个暂存的内容,不带序号就是第一个
git stash pop/apply -> 应用并出栈/仅应用
git stash clear -> 清除全部暂存

删除远程分支的引用

1
git br -rd origin/main

修改fetch拉取的分支

编辑 .git/config

1
2
3
4
[remote "origin"]
url = https://your-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = ^refs/heads/main # 排除main分支