Git 常用命令和示例

Git 常用命令和示例

现如今,使用Git来做版本控制的比例是远大于SVN的,要充分发挥 Git 的潜力,了解相关的Git 命令是必不可少的,它们可以有效的管理源码。在本文中,你将学习最有用的 Git 命令,将你从一个级别带到另一个级别,我们将从基本、中级和高级来学习 Git 命令。

一、基本 Git 命令

在本节中,将学习基本的 Git 命令。这些基本的 Git 命令是学习更高级命令的基础。

以下是九个有用的 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。

用法

$ git version

3. git init

这可能是你用在 Git 中启动新项目的第一个命令。此命令将创建一个空白的新repository,然后你可以将源代码存储在此repository中。

用法

$ git init

或者你可以在 git init 命令中使用repository名称。

$ git init <your repository name>

4. git clone

git clone 命令将使用现有的repository进行复制。git init 和 git clone 之间有一个主要区别。

当你需要在现有repository上制作副本时,你将使用 git clone。git clone 命令在内部首先使用 git init 命令,然后检查其所有内容。

用法

git clone <your project URL>

5. git add

Git add 命令会将所有新的代码文件或修改过的文件添加到你的repository中。此命令提供了添加文件和文件夹的不同选项。

用法

$ git add your_file_name (它将向你的暂存区添加一个文件)

$ git add * (此选项会将所有修改过的和新的文件添加到暂存区)

6. git commit

这个 Git 命令是必不可少的。如果你不正确使用此命令,你的项目质量可能会下降。简而言之,git commit会将你的更改添加到你的本地repository。

用法

$ git commit -m “your useful commit message”

7. git status

这个 Git 命令可以方便地查看有多少文件需要你注意。你可以随时运行此命令。

你可以在 Git add 和 Git commit 之间使用它来查看状态。

用法

$ git status

8. git branch

大多数情况下,你的 Git repository中有多个分支。简单来说,分支就是一条独立的代码开发线。

使用 Git branch 命令,你可以有效地管理你的分支。Git 分支有许多不同的选项。

为了简单起见,这里将重点介绍如何创建和删除 Git 分支。

用法

(i) 列出所有分支:

$ git branch

(ii) 要创建一个新分支:

$ git branch <branch_name>

(iii) 删除分支:

$ 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 命令。此命令会将你的本地repository连接到远程repository。

用法

$ git remote add <shortname> <url>

例子

$ git remote add origin https://xxx/xxx/xx/XXXProject

11. git push

一旦你连接到远程repository(在 git remote 命令的帮助下),就可以将你的更改推送到该repository。

用法

$ git push -u <short_name> <your_branch_name>

例子

$ git push -u origin feature_branch

在使用 Git push 之前,你应该设置 origin 和 upstream。

用法

$ git push --set-upstream <short_name> <branch_name>

例子

$ git push --set-upstream origin feature_branch

12. git fetch

当你需要下载其他团队成员的更改时,你必须使用 git fetch。

此命令将下载提交、引用等的所有信息,因此你可以在将这些更改应用到本地repository之前进行查看。

用法

$ git fetch

13. git pull

Git pull 命令下载内容(而不是metadata)并立即使用最新内容更新你的本地repository。

用法

$ 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

默认情况下,它会显示当前checked out分支的所有提交,但你可以强制它使用所有选项查看所有分支的所有提交。

$ 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 命令可帮助你找到错误的提交。

用法

i) 启动 git bisect

$ git bisect start

ii) 让 git bisect 知道一个好的提交

$ git bisect good a123

iii) 让 git bisect 知道一个错误的提交

$ git bisect bad z123

使用 Git bisect,你可以在几分钟内缩小损坏的代码范围。

22. git cherry-pick

Git cherry-pick 是一个有用的命令。这是一个强大的命令,允许你从任何分支中选择任何提交并将其应用到任何其他分支中。

用法

$ git cherry-pick <commit-hash>

Git cherry-pick 不会修改repository的历史记录;相反,它增加了历史。

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 中,tag 很有用,你可以使用它们来管理发布。你可以把 Git tag 想象成一个不会改变的分支。如果你要公开发布,这很重要。

用法

$ 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 文件或分支。这是一个方便的命令来做到这一点。

用法

i) 将工作目录与本地repository进行比较:

$ git diff HEAD <filename>

ii) 比较两个分支:

$ git diff <source branch> <target branch>

30. git citool

Git citool 是 Git 提交的图形替代品。

用法

$ git citool

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值