Git 常用指令
备注
下文中出现的所有方括号([])中的内容均为用户根据实际情况自定义填写,不可直接照搬示例中的文字。
初始配置
首次使用 Git 时,需要配置用户名和邮箱,用于关联 commit
操作:
设置用户名:
git config --global user.name "[Your Name]"
设置邮箱:
git config --global user.email "[Your Email Address]"
其他常用配置:
设置默认编辑器:
git config --global core.editor "[Default Editor]"
启用彩色命令行输出:
git config --global color.ui auto
修改默认分支名称:
git config init.defaultBranch [New Name]
查看所有配置:
git config --list
配置 SSH 密钥
SSH 密钥是一种安全高效的身份验证方式,它通过加密技术在使用 Git 时实现免密码的远程连接。配置 SSH 密钥可以有效保护您的 Git 账号和代码安全,具体步骤如下:
生成 SSH 密钥
按下
Win+R
组合键,打开“运行”窗口。输入
cmd
并按回车,打开命令提示符窗口。在命令提示符窗口中输入指令
ssh-keygen -t rsa -C '[Your Email Address]'
并按回车。再按三次回车,完成 SSH 公钥和私钥对的生成。
找到生成的 SSH 公钥
打开用户目录:
C:\Users\[Username]\.ssh
,其中.pub
文件为 SSH 公钥。右键该
.pub
文件,选择“打开方式”并使用“记事本”或“VS Code”等文件编辑器查看。或者,也可以在命令提示符窗口中输入指令:
notepad %USERPROFILE%\.ssh\id_rsa.pub
查看该文件。将公钥配置到 Github 中
登录 Github, 点击右侧头像后选择
Settings
>SSH and GPG keys
>New SSH key
。将上一步中的文本内容复制粘贴到
Key
文本框中。在
Title
框中为该 SSH 密钥设置一个名字。点击
Add SSH key
完成 SSH 公钥的配置。检查密钥是否配对成功
在命令提示符窗口中输入指令:
ssh -T git@github.com
。如果窗口显示
Hi your-username! You've successfully authenticated.
说明 SSH 密钥配置成功。
备注
生成 SSH 密钥时,确保
-C
后的邮箱地址与 Github 账户绑定的邮箱一致。公钥与私钥的安全性非常重要,确保妥善保管您的私钥,切勿将其暴露或共享。
创建仓库
在项目开始前,需要在本地创建一个新仓库,然后将其推送至 Github。或者使用 clone
指令,复制一个现有的远程仓库到本地,并自动设置远程关联。
初始化新仓库:
git init
克隆远程仓库:
git clone [url]
获取仓库的 URL
- 如果想要克隆一个远程仓库,首先需要获取该仓库的 URL。具体步骤如下:
登录 Github,进入需要获取的仓库页面。
在仓库页面的右边,点击绿色的
Code
按钮,会弹出一个框显示仓库的 URL。选择 URL 类型:
HTTPS :
https://github.com/username/repository.git
SSH :
git@github.com:username/repository.git
(已配置 SSH 密钥时使用)
点击复制按钮或手动复制所选 URL 。
将更改添加到暂存区
add
指令用于将更改后的文件添加至 Git 暂存区,以此明确标记出即将提交的内容,从而实现对版本变更的精确控制和有序管理。
添加指定文件到暂存区:
git add [File]
添加所有更改到暂存区:
git add .
备注
使用 git add [File]
指令时,确保当前路径位于目标文件所在的目录中,或提供相对于当前目录的正确路径。
提交更改
commit
指令用于将已添加到暂存区的更改提交至本地仓库,相当于创建了一个“版本快照”,记录此次修改的内容和说明。
提交并添加说明:
git commit -m "[Description]"
备注
使用 commit
指令进行提交前必须先使用 add
指令将更改添加到暂存区。
查看状态
status
指令用于查看当前工作区和暂存区的状态,它可以显示当前所在分支,哪些文件被修改或删除,哪些文件已添加到暂存区,以及是否有未提交的更改或未跟踪的文件。
查看详细的工作目录和暂存区状态:
git status
查看简短状态(简写格式):
git status -s
查看历史提交
log
指令用于查看 Git 仓库的历史提交记录,包括提交作者、时间、提交信息和哈希值,是理解项目变更轨迹的重要工具。
显示完整的提交历史:
git log
以单行形式显示每次提交:
git log --oneline
图形化显示分支和合并关系:
git log --graph
查看指定作者的提交:
git log --author="[Author]"
查看从指定时间至今的提交:
git log --since="[Time]"
查看提交文件的具体更改内容:
git log -p
查看提交中更改的文件及行数统计:
git log --stat
显示最近几条提交记录:
git log -n [Number]
查看指定文件的更改历史:
git log [File Name]
查看更改
diff
指令用于比较 Git 中个阶段(工作区、暂存区、历史提交)之间的差异,它不会改变任何内容,仅用于查看代码的具体变更内容。
比较工作区和暂存区的差异:
git diff
比较暂存区和上一次提交的差异:
git diff --cached``或``git diff --staged
比较工作区和最后一次提交的所有差异,包括已暂存和未暂存的更改:
git diff HEAD
比较两次提交之间的差异:
git diff [commit1][commit2]
比较两个分支之间的差异:
git diff [branch1][branch2]
查看某个文件的差异,默认为该文件的工作区和缓存区:
git diff [File Name]
忽略文件
在 Git 中,忽略文件指 Git 不跟踪、不纳入版本控制的一类文件,例如临时文件、日志、编译生成物、系统缓存等。可以在项目根目录创建一个名为 .gitignore
的文件,再将需要忽略的文件或文件夹路径写入该文件。
忽略所有日志:
*.log
忽略所有临时文件:
temp/
忽略所有
.exe
文件:*.exe
忽略 VS Code 工作空间配置:
.vscode/
忽略某个文件:
[File Name]
分支
在 Git 中,分支是一种并行开发机制,它是对代码开发历史的独立拷贝,允许在不干扰主分支的前提下开发新功能、测试、修复 bug。branch
指令是管理分支的主要命令,可用于查看、创建、删除分支等。
查看分支
查看所有本地分支:
git branch
创建/切换分支
创建新分支,但不切换:
git branch [Branch Name]
切换到指定分支:
git checkout [Branch Name]
或git switch [Branch Name]
创建新分支并切换到该分支:
git checkout -b [Branch Name]
或git switch -c [Branch Name]
删除分支
删除已合并的分支:
git branch -d [Branch Name]
删除未合并的分支:
git branch -D [Branch Name]
合并分支
将指定分支合并到当前分支:
git merge [Branch Name]
合并并保留合并记录:
git merge --no-ff [Branch Name]
中止合并:
git merge --abort
远程仓库协作
在 Git 中,远程仓库协作指多个开发者通过连接同一个 Git 仓库进行分布式协同开发的过程。
查看远程仓库信息:
git remote -v
建立本地空仓库和指定远程仓库的关联:
get remote add origin [url]
获取远程仓库最新提交并合并:
git pull origin [Branch Name]
获取远程仓库更改但不合并:
git fetch origin
推送本地提交到远程仓库:
git push origin [Branch Name]