Git 常用命令详细介绍
1. git init
- 初始化 Git 仓库
git init
命令用于在当前目录初始化一个新的 Git 仓库。
示例:
bash git init
在当前目录初始化一个新的 Git 仓库。执行该命令后,当前目录会创建一个 .git
目录,表示这是一个 Git 仓库。
2. git clone
- 克隆远程仓库
git clone
命令用于从远程仓库克隆一个版本库。
示例:
bash git clone https://github.com/username/repository.git
从指定的远程仓库 https://github.com/username/repository.git
克隆一个新的仓库到本地。
3. git add
- 添加文件到暂存区
git add
命令用于将文件或更改添加到暂存区,准备提交。
示例:
bash git add file1.txt
将 file1.txt
文件添加到暂存区。
bash git add .
将当前目录下所有修改过的文件添加到暂存区。
4. git commit
- 提交更改
git commit
命令用于提交暂存区的更改到本地仓库。
常用选项:
-m
:提供提交消息。
示例:
bash git commit -m "Initial commit"
提交暂存区的更改,并添加提交信息 "Initial commit"
。
bash git commit -a -m "Fix bug"
提交所有已经修改的文件(不需要 git add
),并添加提交信息 "Fix bug"
。
5. git status
- 查看当前状态
git status
命令用于查看工作区和暂存区的状态,显示已修改的文件和未提交的更改。
示例:
bash git status
显示当前工作区的状态,查看哪些文件已经修改、哪些文件已添加到暂存区、哪些文件未被跟踪等信息。
6. git log
- 查看提交历史
git log
命令用于查看项目的提交历史记录。
常用选项:
--oneline
:以简短的方式显示每个提交的 ID 和信息。--graph
:以图形化方式显示提交历史。
示例:
bash git log
显示所有提交的历史记录。
bash git log --oneline
以简短的方式查看提交历史,每个提交只显示其简短的哈希值和提交信息。
bash git log --oneline --graph
以图形化的方式查看提交历史。
7. git diff
- 查看文件差异
git diff
命令用于查看工作区和暂存区之间、暂存区和历史提交之间的差异。
示例:
bash git diff
查看当前工作区和暂存区之间的差异。
bash git diff --cached
查看暂存区和最新提交之间的差异。
8. git branch
- 查看和管理分支
git branch
命令用于查看、创建和删除分支。
常用选项:
-a
:列出所有分支(本地和远程)。-d
:删除分支。
示例:
bash git branch
列出当前仓库中的所有本地分支。
bash git branch new-feature
创建一个名为 new-feature
的新分支,但不切换到该分支。
bash git branch -d old-branch
删除名为 old-branch
的本地分支。
9. git checkout
- 切换分支或恢复文件
git checkout
命令用于切换分支或恢复文件。
示例:
bash git checkout new-feature
切换到名为 new-feature
的分支。
bash git checkout -- file1.txt
恢复 file1.txt
文件到上次提交时的状态。
10. git merge
- 合并分支
git merge
命令用于将两个分支的更改合并。
示例:
bash git merge new-feature
将 new-feature
分支的更改合并到当前分支。
11. git pull
- 拉取远程仓库更改
git pull
命令用于从远程仓库获取最新的更改并自动合并。
示例:
bash git pull origin main
从远程仓库 origin
拉取 main
分支的最新更改并自动合并。
12. git push
- 推送本地更改到远程仓库
git push
命令用于将本地提交的更改推送到远程仓库。
示例:
bash git push origin main
将本地 main
分支的提交推送到远程仓库 origin
。
bash git push origin new-feature
将本地 new-feature
分支的提交推送到远程仓库 origin
。
13. git fetch
- 拉取远程仓库更改(不自动合并)
git fetch
命令用于从远程仓库获取最新的更改,但不会自动合并。
示例:
bash git fetch origin
从远程仓库 origin
拉取最新的更改,但不进行合并。
14. git reset
- 重置当前状态
git reset
命令用于重置当前分支的状态,可以通过不同选项来改变当前工作区、暂存区或历史提交。
常用选项:
--hard
:重置工作区和暂存区到指定提交,丢弃所有更改。--soft
:重置提交,但保留工作区和暂存区的更改。
示例:
bash git reset --hard HEAD^
将当前分支重置到上一个提交,并丢弃所有更改。
bash git reset --soft HEAD^
将当前分支重置到上一个提交,但保留工作区和暂存区的更改。
15. git stash
- 暂存更改
git stash
命令用于暂时保存当前工作区的更改,回到干净的状态。
示例:
bash git stash
将当前的工作区更改暂存起来,以便稍后恢复。
bash git stash pop
恢复最近一次暂存的更改并从栈中移除。
bash git stash list
查看所有的暂存更改。
16. git remote
- 管理远程仓库
git remote
命令用于管理远程仓库。
常用选项:
-v
:显示远程仓库的详细信息。add
:添加远程仓库。remove
:删除远程仓库。
示例:
bash git remote -v
列出当前远程仓库的 URL。
bash git remote add origin https://github.com/username/repository.git
添加一个名为 origin
的远程仓库。
bash git remote remove origin
删除名为 origin
的远程仓库。
17. git tag
- 打标签
git tag
命令用于创建、列出和删除 Git 标签。
示例:
bash git tag v1.0
在当前提交上打上 v1.0
标签。
bash git tag
列出所有标签。