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