以下是备忘单中的所有命令:
设置将附加到提交和标记的名称和电子邮件
$ git config --global user.name "Danny Adams"
$ git config --global user.email "[email protected]"
创建本地存储库(省略以将当前目录初始化为 git 存储库)
$ git init <directory>
下载远程存储库
$ git clone <url>
将文件添加到暂存
$ git add <file>
暂存所有文件
$ git add .
将所有暂存文件提交到 git
$ git commit -m "commit message"
添加对跟踪文件所做的所有更改并提交
$ git commit -am "commit message"
main:默认开发分支
origin:默认上游存储库
HEAD:当前分支
HEAD^:HEAD 的父级
HEAD~4:HEAD的曾曾祖
列出所有本地分支。添加标志以显示所有远程分支。 标志。-r``-a
$ git branch
创建新分支
$ git branch <new-branch>
切换到分支并更新工作目录
$ git checkout <branch>
创建一个新分支并切换到该分支
$ git checkout -b <newbranch>bash
删除合并的分支
$ git branch -d <branch>
删除分支,无论是否合并
$ git branch -D <branch>
向当前提交添加标签(通常用于新版本发布)
$ git tag <tag-name>
将分支合并到分支中。添加无快进合并选项a``b``--no-ff
$ git checkout b
$ git merge a
将所有提交合并并压缩为一个新提交
$ git merge --squash a
将功能分支重基到 main 上(以合并对 main 所做的新更改)。防止不必要的合并提交到功能中,保持历史记录整洁
$ git checkout feature
$ git rebase main
在将分支变基到 main 之前以交互方式清理分支提交
$ git rebase -i main
以交互方式将最后 3 个提交变基到当前分支
$ git rebase -i Head~3
移动(&/或重命名)文件和舞台移动
$ git mv <existing_path> <new_path>
从工作目录和暂存区域删除文件,然后暂存删除
$ git rm <file>
仅从暂存区移除
$ git rm --cached <file>
查看上一次提交(只读)
$ git checkout <commit_ID>
创建一个新的提交,从指定的提交中恢复更改
$ git revert <commit_ID>
返回到上一个提交并删除之前的所有提交(恢复更安全)。添加标志以同时删除工作区更改(非常小心)--hard
$ git reset <commit_ID>
列出尚未提交的新文件或修改的文件
$ git status
列出提交历史记录,以及相应的 ID
$ git log --oneline
显示对未暂存文件的更改。对于暂存文件的更改,请添加选项--cached
$ git diff
显示两次提交之间的更改
$ git diff commit1_ID commit2_ID
存储修改和暂存的更改。若要包含未跟踪的文件,请添加标志。对于未跟踪和忽略的文件,请添加标志。-u``-a
$ git stash
如上所述,但添加注释。
$ git stash save "comment"
部分藏匿。仅存储单个文件、文件集合或文件中的单个更改
$ git stash -p
列出所有藏匿处
$ git stash list
重新应用存储而不删除它
$ git stash apply
在索引 2 处重新应用存储,然后将其从存储列表中删除。省略弹出最近的存储。stash@{n}
$ git stash pop stash@{2}
显示存储 1 的差异摘要。传递标志以查看完整的差异。-p
$ git stash show stash@{1}
删除索引 1 处的存储。省略删除上次存储的内容stash@{n}
$ git stash drop stash@{1}
删除所有存储
$ git stash clear
添加远程存储库
$ git remote add <alias> <url>
查看所有远程连接。添加标志以查看 URL。-v
$ git remote
删除连接
$ git remote remove <alias>
重命名连接
$ git remote rename <old> <new>
从远程存储库获取所有分支(无合并)
$ git fetch <alias>
获取特定分支
$ git fetch <alias> <branch>
获取当前分支的远程存储库副本,然后合并
$ git pull
将本地更改(变基)到对远程存储库所做的新更改的顶部(用于干净的线性历史记录)
$ git pull --rebase <alias>
将本地内容上传到远程存储库
$ git push <alias>
上传到分支(然后可以拉取请求)
$ git push <alias> <branch>
git remote rename
从远程存储库获取所有分支(无合并)
```bash
$ git fetch
获取特定分支
$ git fetch <alias> <branch>
获取当前分支的远程存储库副本,然后合并
$ git pull
将本地更改(变基)到对远程存储库所做的新更改的顶部(用于干净的线性历史记录)
$ git pull --rebase <alias>
将本地内容上传到远程存储库
$ git push <alias>
上传到分支(然后可以拉取请求)
$ git push <alias> <branch>