❤️整理了一份Git命令操作指南送给你❤️

447 阅读3分钟

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

前言

不管你是新手小白还是有经验的开发人员,不管是前端还是后端,只要你和团队开发中的一员,则必须要做代码版本控制。而Git则是一款优秀的代码版本控制工具,要充分发挥 Git 的潜力,需要了解 Git 命令,本期内容将为大家介绍一些最有用的 Git 命令。

为了更加清晰的学习,我将Git命令分为三个级别:基本、中级、高级

基本Git命令

这部分主要介绍一些基本的Git命令,掌握基本命令是学习中高级命令的基础。

Git config

Git config 命令非常有用。特别是当你第一次使用 Git 时,或者你有一个新的 Git 安装。

此命令将设置你的身份信息:姓名和电子邮件地址。这些信息将用于每次提交。

用法

$ git config --global user.name "Your name"  

$ git config --global user.email "Your email"

git version

顾名思义,这个命令是检查你使用的是哪个版本的 Git。

用法

$ git version

git init

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

用法

$ git init

也可以在 git init 命令中指定仓库名称。

$ git init <your repository name>

git clone

git clone 命令将使用现有的仓库复制。git initgit clone 之间有一个主要区别。

当需要在现有存储库上制作副本时,需要使用 Git clone

git clone 命令在内部首先使用 git init 命令,然后检查其所有内容。

用法

$ git clone <your project URL>

git add

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

用法

它将向您的暂存区添加一个文件

$ git add your_file_name 

将所有修改过的和新的文件添加到暂存区

$ git add

git commit

git commit命令会将你的更改添加到本地仓库。

用法

$ git commit -m “your commit message”

git status

这个 git 命令可以方便地查看有多少文件被操作了,可以随时运行此命令。 可以在 git addgit commit之间使用它来查看状态。

用法

$ git status

git branch

大多数情况下,git仓库中有多个分支。分支就是一条独立的代码开发线。 使用 git branch 命令,可以有效地管理分支。

git branch有许多不同的选项, 为了简单起见,这里我将重点介绍如何创建和删除 Git 分支。

用法

列出所有分支:

$ git branch

创建一个新分支:

$ git branch <branch_name>

删除分支:

$ git branch -d <branch_name>

git checkout

这个命令用于在git分支上切换,是一个强大的命令。

用法

$ git checkout <branch_name>

此外,也可以一次创建并切换到一个分支。

$ git checkout -b <your_new_branch_name>

中级命令

接下来开始介绍中级命令,如果你需要与团队进行协作、与他人分享代码,这些命令将会非常有用。此外还有像git log这样的命令可以帮助你查看以前的提交历史记录。

git remote

如果你需要与远程连接,则必须要用到git remote命令。此命令会将你的本地仓库和远程仓库连接。

用法

$ git remote add <shortname> <url>

例如:

$ git remote add origin https://github.com/heiz123/_git/DemoProject

git push

在通过git remote连接到远程仓库后,通过git push命令就可以将你的更改记录推送到远程仓库。

用法

$ git push -u <short_name> <your_branch_name>

在使用git push 之前,您应该设置 originupstream

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

git fetch

当你需要下载别人提交的代码时,需要使用git fetch。这个命令将下载所有的提交,引用信息等。

用法

$ git fetch 

git pull

git pull命令会从远程仓库下载最新的内容更新到本地仓库。

用法

$ git pull <remote_url>

git stash

这个命令用于临时存储修改后的文件。

用法

$ git stash

可以通过下面的命令查看所有的临时存储记录

$ git stash list

如果你想应用某个临时存储,则可以使用以下命令,不会从存储记录中删除

$ git stash apply

而下面的命令则会在应用存储的同时,将存储记录删除。

$ git stash pop

git log

通过git log可以看到所有之前的提交记录,最近提交的记录会显示在最前面。

用法

$ git log

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

$ git log --all

git shortlog

此显示git log 命令的摘要。如果只对简短摘要感兴趣,则此命令很有用。

此命令有助于查看谁在做什么,可以对作者进行分组。

用法

$ git shortlog

git show

git log相比,git show命令将显示特定提交的详细信息。

用法

$ git show <your_commit_hash>

git rm

有时需要从代码库中删除文件,在这种情况下,可以使用git rm命令。

它可以从索引和工作目录中删除跟踪的文件。

用法

$ git rm <your_file_name>

git merge

git merge可以帮助你将两个分支的更改合并到一个分支中。

用法

$ git merge <branch_name>

这个命令将合并<branch_name>到当前选择的分支。

高级命令

终于到高级命令了,如果能熟练使用这些命令能让你在代码版本管理上更加轻松。

git rebase

git rebase类似于git merge命令,它将两个分支合并为一个分支,区别是git rebase命令会重写提交历史。

当你有多个私有分支合并为单个分支时,你应该使用git rebase命令。

用法

$ git rebase <base>

git bisect

git bisect命令可以帮助我们快速的找到错误的提交记录。

用法

$ git bisect start

git bisect知道这是一个好的提交

$ git bisect good a123

git bisect知道这是一个坏的提交

$ git bisect bad z123

使用git bisect可以让你很快速的定位了错误代码是在那一次提交中产生的。

git cherry-pick

git cherry-pick可以理解为挑拣提交,如果我们想从其他分支上合并某一次提交,但是又不想合并整个分支时,可以使用git cherry-pick

用法

$ git cherry-pick <commit-hash>

git archive

git archive命令通常用于打包,可以将多个文件合并成一个文件,它就像一个zip程序。

用法

$ git archive --format zip HEAD > archive-HEAD.zip

这个命令将会将当前版本的文件打包成一个zip文件。

git archive --format tar.gz --output "./output.tar.gz" master

这个命令将会把master分支打包为output.tar.gz

git pull --rebase

在大多数情况下,当您使用git pull时,您需要执行rebase(而不是merge)。

用法

git pull --rebase

这将帮助你保持历史提交记录的连续性。

git blame

如果你需要逐行检查任何文件的内容,可以使用git blame,它可以帮助你确定都有谁对文件进行了更改。

用法

git blame <your_file_name>

git tag

在Git中,tag很有帮助,可以使用它来管理发布。你可以把Git的tag想象成一个不会改变的分支。git tag表示对当前仓库打一个标。

用法

$ git tag -a v1.0.0

git verify-commit

git verify-commit命令将检查gpg签名。GPG或“GNU隐私保护”是在签名文件中使用的工具,包含了他们的签名。

用法

$ git verify-commit <commit>

git verify-tag

同理,检查tag的gpg签名。

用法

$ git verify-tag <tag>

git diff

大多数情况下,在commitpush之前,需要比较两个git文件或分支。通过git diff可以完成。

用法

将工作目录与本地仓库进行比较:

$ git diff HEAD <filename>

比较两个分支:

$ git diff <source branch> <target branch>

git citool

git citoolgit commit的图形替代工具。

用法

$ git citool

git mv

重命名一个git文件。需要两个参数,一个表示原文件名称,一个表示新文件名称。

用法

$ git mv <old-file-name> <new-file-name>

git clean

可以使用git clean命令来删除工作目录中未被traced,未被管理过的文件。比如你新写的代码文件,未被add或commit,使用git clean命令会被清除。

用法

$ git clean

清除之后没有办法找回,建议慎用。

git help

git中有许多命令,如果需要任何命令的帮助帮助信息,您可以随时从终端使用git help

用法

$ git help <git_command>

最后

git中有很多的命令,要想熟练掌握一定要多加练习。建议收藏本文,时不时拿出来练练。如果对你有所帮助,点个赞吧~