Git 基本命令
1. git config
Git config 命令非常有用。特别是当你第一次使用 Git 时,或者你有一个新的 Git 安装。此命令将设置您的身份 - 姓名和电子邮件地址。这些信息将用于每次提交。
用法
$ git config --global user.name "Your name"
$ git config --global user.email "Your email"
2. git version
顾名思义,它只是检查您使用的是哪个版本的 Git。目前,编写本指南时,Windows 版 Git 的最新版本是 2.31.1。它于2021年3月27日发布。
用法
$ git version
3. git init
这可能是您用于在 Git 中启动新项目的第一个命令。此命令将创建一个空白的新存储库,然后您可以将源代码存储在此存储库中。
用法
$ git init
//或者您可以在 git init 命令中使用存储库名称。
$ git init <your repository name>
4. git clone
git clone 命令将使用现有的存储库进行复制。git init 和 git clone 之间有一个主要区别。当您需要在现有存储库上制作副本时,您将使用 Git clone 。git clone 命令在内部首先使用 git init 命令,然后检查所有内容。
用法
git clone <your project URL>
5. git add
Git add 命令会将所有新的代码文件或修改过的文件添加到您的存储库中。此命令提供了添加文件和文件夹的不同选项。
用法
$ git add your_file_name //它将向您的暂存区添加一个文件
$ git add * //此选项会将所有修改过的和新的文件添加到暂存区
6. git commit
这个 Git 命令是必不可少的。如果您不正确使用此命令,您的项目质量可能会下降。简而言之,Git 提交会将您的更改添加到您的本地存储库。
用法
$ git commit -m “your useful commit message”
7. git status
这个 Git 命令可以方便地查看有多少文件需要您注意。您可以随时运行此命令。 您可以在 Git add 和 Git commit 之间使用它来查看状态。
用法
$ git status
8. git branch
大多数情况下,您的 Git 存储库中有多个分支。简单来说,分支就是一条独立的代码开发线。 使用 Git branch 命令,您可以有效地管理您的分支。Git 分支有许多不同的选项和开关。
用法
//列出所有分支:
$ git branch
//要创建一个新分支:
$ git branch <branch_name>
//删除分支:
$ git branch -d <branch_name>
9. git checkout
这个 Git 命令用于在分支之间切换。这是强大的 git 命令之一。
用法
$ git checkout <branch_name>
//此外,您可以一次创建并checkout到一个分支,这是它的用法
$ git checkout -b <your_new_branch_name>
中级 Git 命令
说完基本的Git命令,和大家分享中级Git命令了;如果您需要与团队协作、与他人共享代码,这些 Git 命令非常有用。此外,还有像 Git log 这样的命令可以帮助查看以前提交的历史记录。
10. git remote
Git remote 命令就像一个边界,如果你需要与外界连接,你必须使用 Git remote命令。此命令会将您的本地存储库连接到远程存储库。
用法
$ git remote add <shortname> <url>
11.git push
一旦您连接到远程存储库(在 git remote 命令的帮助下),就可以将您的更改推送到该存储库。
用法
$ git push -u <short_name> <your_branch_name>
//在使用 Git push 之前,您应该设置 origin 和 upstream。这是设置上游的命令。
$ git push --set-upstream <short_name> <branch_name>
12. git fetch
当您需要下载其他团队成员的更改时,您必须使用 git fetch。 此命令将下载提交、引用等的所有信息,因此您可以在将这些更改应用到本地存储库之前对其进行查看。
用法
$ git fetch
13. git pull
Git pull 命令下载内容(而不是元数据)并立即使用最新内容更新您的本地存储库。
用法
$ git pull <remote_url>
14. git stash
这个 Git 命令临时存储你修改过的文件。您可以使用以下 Git 命令在 stashed 中工作。
用法
$ git stash
//您可以使用以下命令查看所有存储
$ git stash list
//如果您需要将 stash 应用到分支,只需使用 apply
$ git stash apply
15. git log
在 Git log的帮助下,您可以看到所有先前的提交以及最近的提交首先出现。
用法
$ git log
//默认情况下,它会显示当前签出分支的所有提交,但您可以强制它使用所有选项查看所有分支的所有提交。
$ git log --all
16. git shortlog
shortlog 命令显示来自 Git log 命令的摘要。如果您只对简短摘要感兴趣,则此命令很有用。 此命令有助于查看谁在将作者与他们的提交分组时所做的工作。
用法
$ git shortlog
17. git show
与 Git log 相比,此命令 git show 将显示有关特定提交的详细信息。
用法
$ git show <your_commit_hash>
18. git rm
有时您需要从代码库中删除文件,在这种情况下,您可以使用 Git rm 命令。它可以从索引和工作目录中删除跟踪的文件。
用法
$ git rm <your_file_name>
19. git merge
Git merge 可帮助您将来自两个分支的更改集成到单个分支中。
用法
$ git merge <branch_name>
//此命令会将 <branch_name> 合并到您当前选择的分支中。
高级 Git 命令
现在是再上一层楼的时候了。在这里,您将学习高级 Git 命令。这些命令需要时间和练习。一旦您了解了这些命令的基础知识,就可以轻松地每天使用它们。
20. git rebase
Git rebase 类似于 git merge 命令。它将两个分支集成到一个分支中,只有一个例外。git rebase 命令重写提交历史。当您有多个私有分支合并为一个分支时,您应该使用 Git rebase 命令。它将使提交历史成为线性。
用法
$ git rebase <base>
21. git bisect
Git bisect 命令可帮助您找到错误的提交。
用法
//启动 git bisect
$ git bisect start
//让 git bisect 知道一个好的提交
$ git bisect good a123
//让 git bisect 知道一个错误的提交
$ git bisect bad z123
//使用 Git bisect,您可以在几分钟内缩小损坏的代码范围。
22. git cherry-pick
Git cherry-pick 是一个有用的命令。这是一个强大的命令,允许您从任何分支中选择任何提交并将其应用到任何其他分支。
用法
$ git cherry-pick <commit-hash>
Git cherry-pick 不会修改存储库的历史记录;相反,它增加了历史。
23. git archive
Git archive 命令会将多个文件合并为一个文件。它就像一个 zip 实用程序,因此这意味着您可以提取存档文件以获取单个文件。
用法
$ git archive --format zip HEAD > archive-HEAD.zip
它将创建当前修订的 zip 存档。
24. git pull --rebase
大多数时候,当你使用 Git pull 时,你需要做 rebase(而不是合并)。在这种情况下,您可以使用该选项
用法
$ git pull --rebase
它将帮助您保持历史清洁。此外,您可以避免多次合并。
25. git blame
如果需要逐行检查任何文件的内容,则需要使用 git blame 。它可以帮助您确定谁对文件进行了更改。
用法
$ git blame <your_file_name>
26. git tag
在 Git 中,标签很有用,您可以使用它们来管理发布。你可以把 Git 标签想象成一个不会改变的分支。如果您要公开发布,这一点要重要得多。
用法
$ git tag -a v1.0.0
27. git verify-commit
git verify-commit 命令将检查 gpg 签名。GPG 或“GNU Privacy Guard”是在签名文件中使用的工具并包含他们的签名。
用法
$ git verify-commit <commit>
28. git verify-tag
同样,您可以确认标签。
用法
$ git verify-tag <tag>
29. git diff
大多数情况下,您需要在提交或推送之前比较两个 git 文件或分支。这是一个方便的命令来做到这一点。
用法
//将工作目录与本地存储库进行比较:
$ git diff HEAD <filename>
//比较两个分支:
$ git diff <source branch> <target branch>
30. git citool
Git citool 是 Git 提交的图形替代品。
用法
$ git citool
31. git mv
重命名一个 git 文件。它将接受两个参数,源文件名和目标文件名。
用法
$ git mv <old-file-name> <new-file-name>
32. Git clean
您可以使用 Git clean 命令处理未跟踪的文件。您可以使用此命令从工作目录中删除所有未跟踪的文件。如果你想处理被跟踪的文件,你需要使用Git reset 命令。
用法
$ git clean
33. git help
Git 中有很多命令,如果您需要任何命令的更多帮助,您可以随时从终端使用 git help。
用法
$ git help <git_command>
34. git whatchanged
此命令与 git log 执行相同的操作,但采用原始形式。由于历史原因,它在 git 中。
用法
$ git whatchanged