简介

Git是一个开源的分布式版本控制系统,它可以帮助我们更加方便地对软件开发过程中的各种程序代码、配置文件、说明文档等文件进行管理。
Git工作流程示意图如下:
Git工作流程示意图
Git命令在线模拟网站:Learn Git Branching
Git官方文档:Book

教程

下载与安装

下载

图片

安装

图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

配置用户信息

此步骤十分重要,每一个Git提交时都会使用这些信息。

1
2
git config --global user.name "名称"
git config --global user.email "邮箱"

字段--global表示全局,即当前用户范围内均有效,例如以上配置会出现在当前用户目录/.gitconfig文件中。

配置SSH

生成密钥

Git Bash中执行ssh-keygen -t rsa -C "邮箱"命令,密钥默认生成在C:\Users\用户名\.ssh\中。

添加私钥

Git Bash中执行ssh-agent bash命令并通过ssh-add "C:\Users\用户名\.ssh\id_rsa"添加私钥。
编辑Git目录\etc\ssh\ssh_config针对不同网站(例如Coding)添加如下内容:

1
2
3
Host *.coding.net
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

标记主机

当使用过程中出现Are you sure you want to continue connecting (yes/no/[fingerprint])?时,应手动输入yes并回车。

添加公钥

在对应网站中添加C:\Users\用户名\.ssh\id_rsa.pub内的内容。

初始化仓库

初始化后将生成.git文件夹,记录所有的Git操作。

本地仓库

1
2
cd 仓库目录
git init

远程仓库

1
git clone 仓库地址

如果为私有仓库时,将会提示输入对应仓库平台的账号与密码。

忽略文件

当需要告诉Git哪些文件或文件夹不需要添加到版本管理中时,可以创建.gitignore文件并写入对应地址,例如:

1
2
3
note.txt #忽略note.txt文件
*.zip #忽略以.zip为后缀的文件
.vs/* #忽略.vs文件夹

保留文件夹

当一个文件夹内没有任何文件时,Git不会将此文件夹添加到版本管理中,当有需要时应在文件夹下创建.gitkeep文件。

提交本地代码

1
2
git add . #添加所有文件
git commit -m"提交描述信息" #提交

推送或拉取远程仓库

1
2
git push #推送到远程仓库
git pull #从远程仓库拉取

查看修改内容

1
2
git status #被修改的文件
git diff #被修改文件的内容

撤销未提交的修改

未添加文件

1
git checkout 文件名

已添加文件

1
git reset HEAD 文件名

查看提交记录

1
2
git log #查看所有历史提交信息
git log 提交id #查看指定历史提交记录

分支

查看分支

1
2
3
git branch #查看本地分支(分支前带*的为当前分支)
git branch -r #查看远程分支
git branch -a #查看本地和远程分支

新建分支

1
2
git branch 分支名 #新建空分支
git checkout -b 分支名 #新建分支并复制当前分支

删除分支

1
2
git branch -d 分支名 #删除分支
git branch -D 分支名 #强制删除分支

切换分支

1
git checkout 分支名 #切换分支

合并分支

1
git merge 分支名 #合并分支

分支映射关系

1
git branch -vv #查看分支映射关系

新建本地分支与拉取远程分支

1
2
git branch -a #查看本地和远程所有分支
git checkout 远程分支名 #切换分支名的同时会自动追踪

参考资料