Git常用指令大全详解
Git,作为目前最流行的分布式版本控制系统,其强大的功能和灵活性为开发者提供了极大的便利。无论是个人项目还是团队协作,Git都扮演着不可或缺的角色。本文将详细总结Git的常用指令,帮助大家更好地掌握这一工具。
一、Git基础配置
-
设置用户信息
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"
配置全局的用户名和邮箱,这些信息会被记录到每次提交中。
-
检查配置
git config --list
查看当前Git的配置信息。
-
设置SSH密钥
生成SSH密钥(默认路径为
~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
):ssh-keygen -t rsa -b 4096 -C "你的邮箱"
然后,将公钥(
id_rsa.pub
)添加到你的Git服务器(如GitHub、Gitee等)上。
二、Git仓库操作
-
初始化仓库
git init
在当前目录下初始化一个新的Git仓库。
-
克隆仓库
git clone <repository-url>
克隆远程仓库到本地。
-
查看仓库状态
git status
查看当前工作目录的状态,包括已修改、未提交等信息。
三、文件操作
-
添加文件到暂存区
git add <file>
添加指定文件到暂存区。如果要添加所有修改过的文件,可以使用
git add .
。 -
提交文件到仓库
git commit -m "提交信息"
将暂存区的文件提交到本地仓库。
-
查看提交历史
git log
查看提交历史记录。
-
撤销修改
四、分支操作
-
查看分支
git branch
查看本地分支列表。加上
-r
参数可以查看远程分支。 -
创建分支
git branch <branch-name>
创建新的本地分支。
-
切换分支
git checkout <branch-name>
切换到指定分支。在Git 2.23及以后版本中,可以使用
git switch <branch-name>
来切换分支。 -
合并分支
git merge <branch-name>
将指定分支合并到当前分支。
-
删除分支
git branch -d <branch-name>
删除本地分支。如果分支还没有被合并,需要使用
-D
参数强制删除。 -
推送分支到远程仓库
git push origin <branch-name>
将本地分支推送到远程仓库。
-
拉取远程分支到本地
git fetch origin <branch-name> git checkout -b <local-branch-name> origin/<remote-branch-name>
先从远程仓库拉取分支信息,然后在本地创建并切换到新分支,同时关联到远程分支。
五、远程仓库操作
-
查看远程仓库
git remote -v
查看当前配置的远程仓库列表。
-
添加远程仓库
git remote add <repository-name> <repository-url>
添加新的远程仓库。
-
推送本地修改到远程仓库
git push <repository-name> <branch-name>
将本地分支的修改推送到远程仓库。
-
从远程仓库拉取更新
git pull <repository-name> <branch-name>
从远程仓库拉取指定分支的更新并合并到当前分支。
-
移除远程仓库
git remote remove <repository-name>
移除指定的远程仓库配置。
六、标签操作
-
创建标签
git tag <tag-name>
在当前分支的最新提交上创建一个标签。
-
查看标签
git tag
查看所有标签列表。
-
推送标签到远程仓库
git push origin <tag-name>
将指定标签推送到远程仓库。
-
删除标签
七、其他高级操作
-
查看配置
git config --list
查看Git的全局和仓库级配置。
-
设置别名
git config --global alias.<alias-name> <command>
为Git命令设置别名,以便简化使用。
-
存储工作进度
git stash
将当前工作区的修改临时存储起来,以便切换到其他分支或进行其他操作。
-
恢复存储的工作进度
git stash pop
恢复最近一次存储的工作进度。
-
清理未跟踪的文件和目录
git clean -fd
清理工作区中未跟踪的文件和目录。
结语
本文详细总结了Git的常用指令,涵盖了基础配置、仓库操作、文件操作、分支操作、远程仓库操作、标签操作以及其他高级操作。希望这些内容能够帮助大家更好地掌握Git,提高开发效率。当然,Git的功能远不止于此,还有更多的高级特性和命令等待大家去探索和学习。