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 来更新你的工作目录。如果你想让你的分支与远程跟踪分支保持同步,这个方法会很有用。
你也可以使用--rebase
rebase 选项来代替合并。
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-name
或git push origin HEAD
:将分支推送到上游。您可以使用任一版本;使用 origin HEAD 只是一种更冗长的推送方式。它表示您正在将分支的尖端 (HEAD) 推送到远程的同名分支origin
。git push origin -f branch-name
或git 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