git命令笔记

18 阅读4分钟

git命令笔记

终端输入history

打印出近600条历史命令

向上键和向下键

切换历史命令

git status

git status 是一个用于查看Git仓库当前状态的命令。它可以显示当前分支、文件的修改状态(已修改、已暂存、未跟踪等)以及是否有需要提交或推送的变更。

以下是一些可能的状态:

1.  未修改:文件没有被修改,不需要执行任何操作。

2.  已修改:文件已被修改但尚未暂存。可以使用 git add 命令将文件添加到暂存区。

3.  已暂存:文件已被修改并暂存,等待提交。可以使用 git commit 命令将暂存的文件提交到本地仓库。

4.  未跟踪:文件不在Git版本控制之下,可以使用 git add 命令将文件添加到版本控制。

5.  有提交:本地仓库中有提交记录,可以使用 git push 命令将提交推送到远程仓库。

6.  有更新:远程仓库中有更新,可以使用 git pull 命令将更新合并到本地仓库。

运行 git status 命令后,会显示类似以下的输出:

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   新文件名

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    修改:       modified-file.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    未跟踪文件.txt

这个输出表示:

● 当前在 master 分支上,与远程仓库 origin/master 同步。

● 有一个新文件 新文件名 已暂存,等待提交。

● 有一个文件 modified-file.txt 已被修改但尚未暂存。

● 有一个未跟踪的文件 未跟踪文件.txt。

git add

git add命令用于将文件的更改添加到暂存区,以便进行提交。可以使用以下命令将指定文件添加到暂存区:

git add <file>

如果要将所有修改过的文件添加到暂存区,可以使用以下命令:

git add .

git commit

git commit命令用于将暂存区中的更改提交到本地仓库。可以使用以下命令提交更改:

git commit -m "<message>"  

其中是提交信息,用于描述本次提交的更改内容。例如:

git commit -m "修复了一个bug"    

git commit -a 命令是一个方便的选项,它允许你跳过 git add 步骤,直接将所有已跟踪文件的更改提交到本地仓库。这个命令执行时,Git 会先自动将所有修改过且已被跟踪的文件添加到暂存区,然后提交这些暂存的更改。

使用 git commit -a 命令时,你不需要明确指定要添加哪些文件,Git 会自动处理所有已跟踪文件的更改。命令格式如下:

git commit -a -m "提交信息"

git checkout

git checkout 是一个用于切换分支或恢复工作树文件的命令。它可以用于以下几种情况:

1.  切换到已存在的分支:

git checkout 分支名   

将 分支名 替换为您想要切换到的分支名称。

2.  创建新分支并切换到新分支:

git checkout -b 新分支名   

将 新分支名 替换为您想要创建的新分支名称。

3.  恢复工作树文件:

git checkout 文件名    

将 文件名 替换为您想要恢复的文件名称。

git log

git log:这个命令会显示从最新提交到最早提交的所有提交信息,包括提交的哈希值、作者、提交日期和提交消息等。按“q”键可以退出git log命令。

a.  --oneline:以简洁的一行格式显示提交信息。

b.  --graph:以图形化方式显示分支和合并历史。

c.  --decorate:显示分支和标签指向的提交。

d.  --author=<作者>:只显示特定作者的提交。

e.  --since=<时间>:只显示指定时间之后的提交。

f.  --until=<时间>:只显示指定时间之前的提交。

g.  --grep=<模式>:只显示包含指定模式的提交消息。

h.  --no-merges:不显示合并提交。

i.  --stat:显示简略统计信息,包括修改的文件和行数。

j.  --abbrev-commit:使用短提交哈希值。

k.  --pretty=<格式>:使用自定义的提交信息显示格式。

如果你想查看历史中什么时候出现了分支、合并,可以添加--graph选项:

git log --graph