Git 备忘单

2025-05-26

Git 备忘单

嘿,精彩的朋友们!快来看看,这是一份快速便捷的 Git 命令速查表:

git 配置

设置当前存储库中所有提交的作者姓名和邮件,开发人员通常使用它们--global flag来为当前用户设置配置选项。
git config --global user.name "username"
git config --global user.email "usermail@example.com"

git 克隆

使用 HTTPS 或 SSH 克隆远程仓库。这将为项目源创建一个新的子目录。
git clone <REPO CLONE URL>

git 状态

显示当前分支的状态。它会显示哪些文件已修改、哪些文件处于提交阶段以及哪些文件尚未处于提交阶段。它还会显示本地分支是否落后于远程跟踪分支(或与远程跟踪分支的更新不同步)。git add当您只想提交特定文件时,此命令尤其有用。

git 分支

创建分支,或显示本地或远程分支列表。使用 git branch,你可以添加选项来执行与分支相关的操作:

  • git branch new-branch-name:从当前分支创建一个名为new-branch-name
  • -d or --delete:删除分支。例如git branch -d feature-branch-name
  • -D:强制删除分支。当你想删除一个包含未推送到服务器或未合并的更改的分支时,可以使用此选项。例如git branch -D feature-branch-name
  • -a or --all:显示所有本地和远程跟踪分支。

git fetch

从服务器获取分支及其历史记录和信息。你还可以使用它git fetch origin来更新远程跟踪分支。

git pull

通过执行 git fetch 和 git merge 来更新你的工作目录。如果你想让你的分支与远程跟踪分支保持同步,这个方法会很有用。
你也可以使用--rebaserebase 选项来代替合并。

git checkout

此命令有几个功能。它可以用来从当前分支创建新分支,也可以用来从服务器检出分支,或者切换到另一个分支。

  • git checkout develop:你会经常用到这个。它会将你从当前所在的分支切换到新develop分支。如果你在当前分支中进行了更改,你需要先存储这些更改,或者在切换分支之前撤消更改。
  • git checkout branch-on-server:如果您想在其他人的分支上工作(假设他们已经将分支推送到远程仓库),您可以使用此命令在本地计算机上创建该分支的副本。您需要git fetch先获取有关该分支的信息。
  • git checkout -b new-branch-name:从当前分支创建一个新分支并切换到该分支。如果您在 中develop,这将从开发分支创建一个新分支。此命令与git branch new-branch-name && git checkout new-branch-name

git add

您对分支进行了更改,并希望暂存这些更改以供提交。您需要将它们添加到所谓的index。以下是两种执行此操作的方法:

  • git add /filepath/file.f:这将添加单个文件。
  • git add .:这将添加所有已更改的文件。请注意:请使用 检查更改,确保您没有添加不必要的更改git status。如果您不小心暂存了不需要的文件,请查看git reset下文说明。

git提交

你想提交!太棒了!操作方法如下:

  • git commit:这将提交您使用暂存的文件git add,并将打开 VIM 编辑器(或您在 .gitconfig 中配置的任何编辑器)来输入您的提交消息。
  • git commit --amend:用于修改最新的提交。它将暂存环境中的更改与最新的提交合并,并创建一个新的提交。这个新的提交将完全替换最新的提交。
  • git commit -a:这将提交并添加所有更改的文件,并打开编辑器以输入提交消息。这与执行 相同git add . && git commit
  • git commit -m "commit message":跳过编辑器并将整个消息放入命令行中!
  • git commit -a -m "commit message":把它们全部结合起来!太棒了。

git push

提交后,您需要将更改推送到服务器,以便其他人可以查看。推送后,您的分支和提交将对其他人可见。

  • git push branch-namegit push origin HEAD:将分支推送到上游。您可以使用任一版本;使用 origin HEAD 只是一种更冗长的推送方式。它表示您正在将分支的尖端 (HEAD) 推送到远程的同名分支origin
  • git push origin -f branch-namegit push origin +branch-name❗ ❗ ❗注意:这是一个潜在的危险命令,只有当你真正了解自己在做什么时才应该使用它。它会用你本地的分支副本覆盖你在远程仓库中指定的分支。❗ ❗ ❗

git 日志

显示所有分支及其提交的历史记录。有助于查看最近的提交并获取提交哈希值。

  • git log:显示此分支上的所有提交,以及提交哈希、作者、日期和消息。
  • git log --oneline:显示上述命令的简化版本,仅显示提交哈希和提交消息。
  • git log --graph:显示你的分支的提交历史图表。(太棒了)
  • git log --max-count <n>:限制显示的提交次数。
  • git log --oneline --graph --max-count 50:全部合二为一!哇!

git rebase


变基操作稍微高级一些,但在需要时非常有用。执行变基操作时,实际上是在更改分支的基础。本质上,变基会查看分支上的每一次提交,并更新代码,使其看起来像是一直在新的基础上工作。有时,如果变基尝试更新您已经修改过的代码,它会出错。在这种情况下,它不知道应该使用哪个版本的代码,因此需要您手动解决。
虽然它们的用途相似,但变基与合并的不同之处在于,变基通过调整每次提交来更新分支,而合并通过在分支末端创建新的提交来更新分支。通常,项目或团队会根据偏好使用哪种方法制定相应的标准和实践。请与您的团队讨论他们更喜欢哪种工作流程。

git 存储

储藏功能允许您保存当前未暂存的更改,并将分支恢复到未修改状态。储藏时,您的更改会被推送到堆栈中。如果您需要快速切换到另一个分支,而无需提交未完成的更改,此功能尤其有用。

  • git stash:存储未暂存的更改。
  • git stash pop:取消存储您的更改。
  • git stash drop:删除你存储的更改。小心,你将丢失更改!
  • git stash push <path>:存储单个文件
  • git stash -m <message>:向你的存储中添加一条消息

git 重置

Git reset 用于取消暂存文件或移除提交。它通过更改分支尖端 (HEAD) 指向的内容来实现。

  • HEAD:代表分支的尖端。
  • 索引:作为暂存区,提出下一次提交的更改。
  • 工作目录:磁盘上文件的位置。重置模式有三种:--soft--mixed(默认)和--hard
    • --soft:取消暂存更改但保留提交历史记录。
    • --mixed:在不修改工作目录的情况下调整暂存区。
    • --hard:改变暂存区和工作目录。
  • 撤消git add
    • git add .
    • git reset -- file.html(取消暂存单个文件)
    • git reset(取消暂存所有更改)
  • 撤消最近的提交:
    • git commit -a -m "commit message"
    • git reset --soft HEAD^(撤消分支尖端的提交)
    • git commit -a -m "new commit message"
  • 永久撤消提交:
    • git reset --hard HEAD~2(删除最后两次提交,即 HEAD 和 HEAD^)

让我们联系起来!

感受氛围,加入讨论。我们不仅欢迎你的提问、想法和观点,更会珍视它们。🚀
 🌐 LinkedIn
 🚀 GitHub

文章来源:https://dev.to/sarath-pm/git-cheatsheet-414e
PREV
让你的 Github 个人资料脱颖而出
NEXT
为什么选择 GraphQL?