# Git 的基础使用教程
# 简介
Git
是一个开源的分布式版本控制系统,用于方便地管理你的项目源码版本。
如果依旧不理解 Git
是个什么东西,只需要记住它是个工具,并学会简单的运用就行了,用多了自然就懂了。
# 安装
本教程以 windows10-x64
的安装为例。
# 下载
下载一个东西,首先就是找它的官网,官网不行再寻求其它路径。
Git
的官网在国内是可以正常访问的,访问官网,然后点击图中红框,跳转到版本选择页。
接着,根据自己的系统版本选择相应的版本。这里选择如下:
<img src="https://cdn.staticaly.com/gh/skmcj/pic-bed@main/img/20220322211649.png"alt=" 下载页 "style="zoom: 67%;" />
# 开始安装
网上安装 Git
的教程很多,可自行搜索或参考以下教程。
Git 下载安装教程:git 安装步骤手把手图文【超详细】 - 知乎 (zhihu.com)
2022 最新超详细 Git 安装教程 - 知乎 (zhihu.com)
安装完成后,在右键菜单会出现 Git Bash Here
的选项,点击会弹出一个终端控制台,位置为你当前右键位置,在里面即可进行你的 Git
操作。
Git Bash
实质上就是一个 Linux
风格的终端程序,类似 windows
的 cmd
窗口,只不过在里面使用的是 Linux
的操作指令。
# 基础使用
# Linux 常见操作命令
- 查看目录
ls
— 查看当前目录下的所有目录和文件ls -a
— 查看当前目录下的所有目录和文件 (包括隐藏的文件)- 其中
.
代表当前目录的意思,..
代表上一级目录
- 其中
ls -l
— 以列表形式,查看当前目录下的所有目录和文件 (可展示文件的详细信息)- 使用
ll
命令可达到相同效果
- 使用
ls 目录名
— 查看指定目录的文件信息
- 切换目录
cd xx
— 进入当前目录下名为xx
的目录cd ..
— 切换到上一级目录cd -
— 切换到上一次操作目录
- 创建目录
mkdir xx
— 在当前目录下创建名为xx
的文件mkdir 完整路径
— 在指定位置创建目录
- 删除文件
rm 文件名
— 删除当前目录下的文件
- 修改名称
mv 文件名 新文件名
— 修改当前目录下的文件为新文件名
- 新增文件
touch 文件名
— 在当前目录下创建新文件
# Git 常见操作
git config --global user.name "你的名字"
— 设置Git
使用的全局名git config --global user.email "你的邮箱"
— 设置Git
使用的全局邮箱git init
— 在当前文件夹下,初始化一个Git
仓库,理解不了仓库可以想象为一个Git
的项目- 初始化完成后,文件夹下会出现一个
.git
目录,看不到的话可能是被隐藏了
- 初始化完成后,文件夹下会出现一个
git clone <远程仓库地址>
— 将远程仓库克隆到本地git add xx.xx
— 提交名为xx.xx
的文件git add .
— 提交新文件和被修改的文件add
提交的文件是提交到要提交到本地仓库前的一个暂存地
git commit -m "一些说明信息"
— 将git add
的文件提交到本地仓库里git remote add origin 远程仓库地址
— 将本地仓库与远程仓库进行关联其中,
origin
为远程仓库的别名,可以自定义,一般建议使用origin
git remote -v
— 用于查看仓库关联情况
git status
— 查看当前仓库文件状态git branch <分支名>
— 创建一支新分支git branch
— 查看当前所有分支及所在分支git branch -d <分支名>
— 删除本地仓库的指定分支
git checkout <分支名>
— 切换当前工作目录到指定分支git checkout -b <分支名>
— 创建并切换到指定分支
git push <分支>
— 将本地仓库push
到远程仓库指定分支- 第一次
push
建议使用git push -u 仓库代称 master
,仓库代称为远程仓库的代称,如上面的origin
- 第一次
git pull
— (全默认写法) 将远程仓库更新到本地仓库git pull <远程仓库> <远程仓库分支名>:<本地仓库分支名>
— (完整的写法) 将远程仓库指定分支合并到本地仓库指定分支
git merge <分支名>
— 将指定分支合并到当前分支git log
— 查看当前仓库的版本信息 (日志),当信息太多时,不能一次显示完整,会在末行有:
的样式提示,可按方向键看下一行,按q
即可退出日志状态
# 多人项目开发
在进行多人写作开发的时候,为了满足不同时空的要求,需要一个远程代码托管平台协助开发。
这类平台有很多,但常用的就几个,如 Gitee
、 GitHub
、 GitLab
。如果没有特殊方法的话,在国内建议使用 Gitee
,访问速度较快。
# 使用 Gitee
要想使用 Gitee
,首先你要有一个 Gitee
账号,只要去 Gitee 官网注册即可。
注册账号后,就可以在里面注册自己的仓库 (传说中的远程仓库),将其与本地仓库关联,就可以将本地仓库托管到云端了。
同时,也可以克隆别人的仓库到本地,实现多人开发。
克隆仓库,主要有两种方式,分别为 HTTPS
和 SSH
,前者要输密码,后者不用,但需要配置。
配置 SSH
在任意位置,右键选择
Git Bash Here
,打开Git Bash
输入
ssh-keygen -t rsa -C "你的邮箱"
,然后回车在出现的提示后输入文件名,默认为
id_rsa
,建议改为与你账户有关的,如:id_rsa_gitee
接着去提示的路径下 (即用户目录下的
.ssh
目录) 查看相应的文件,可以看到两个文件 (这里用默认名举例,实际看你刚才的命名),分别为id_rsa
和id_rsa.pub
,将id_rsa.pub
的内容复制备用,用记事本即可打开接着登录你的
Gitee
账户,点击头像打开设置,在设置页的左侧找到SSH公钥
到这,其中就可以正常使用
SSH
克隆项目了,但为了满足将来多账户区分的需求,例如一个Gitee
,一个GitHub
或多个Gitee
等,建议进行如下操作在
.ssh
目录下,新建一个文件config
,不用后缀,用记事本打开,输入以下内容# Gitee (注释,用于区分不同账户) # Host 可任意更改,但建议与HostName相同,除非多个相同平台的用户,如果改了,后续SSH链接也许做出相应更改 # HostName 平台域名 # PreferredAuthentications 认证方式 # IdentityFile 私钥文件路径,名称按自己的实际情况写 Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa # 如有其它账户,可往下继续配置 # 一些说明,如果你的Host更改了,那么你用于clone的SSH链接@后的内容需要改为相应的内容 # 如:SSH链接为 git@gitee.com:ltgcm/notes.git 而你的Host为 abc # 那么,你克隆就要用 git clone git@abc:ltgcm/notes.git
配置好上面的文件,保存后,可使用
ssh -t git@<Host内容>
验证是否配置成功,这里为ssh -t git@gitee.com
,当出现带有successfully
字样的信息则表示配置成功
# 多人协作开发
以 甲
和 乙
两个角色进行举例,适用于人数较少的小项目开发
开发项目假设为一个小程序,方式为原生开发
项目 SSH
链接为 git@gitee.com:ltgcm/applet.git
项目托管于 Gitee
开发人员甲
- 介绍:项目的创立者,需要配置好项目,并创建远程仓库进行关联推送
- 步骤一:使用微信开发者工具创建好项目,并根据项目需求进行一些初始环境的配置
- 建议在项目根目录下再新建一个文件,名为
README.md
(如果没有的话),用于介绍这个项目
- 建议在项目根目录下再新建一个文件,名为
- 步骤二:登录自己的
Gitee
,点击自己头像左侧的+
号,选择新建仓库- <img src="https://cdn.staticaly.com/gh/skmcj/pic-bed@main/img/20220324212220.png"alt=" 新建仓库 "style="zoom:67%;" />
- 如图设置好仓库名及介绍,创建即可
- 步骤三:在本地建立好的项目目录下进行本地项目的初始化
git init
— 需进入步骤一建立好的项目根目录下,使用Git Bash
输入相应命令
- 步骤四:将本地仓库与远程仓库关联
- 复制远程仓库的
SSH
链接,这里为git@gitee.com:ltgcm/applet.git
git remote add origin git@gitee.com:ltgcm/applet.git
- 复制远程仓库的
- 步骤五:将本地仓库推送到远程仓库
git add .
git commit -m "初始化项目"
git push -u origin master
- 步骤六:将其他开发人员加入仓库成员
- 打开
Gitee
,进入对应的仓库 - 点击上方右侧的管理
- 选择左侧仓库成员管理
- 选择管理员,点击右侧上方的添加仓库成员,选择邀请成员
- 选择任一方式邀请都可,按照提示进行邀请即可
- 通知其他成员接受邀请
- 打开
- 步骤六点五:如果开发人员超过 5 人,需将仓库设置为公开仓库,私人仓库规定开发人员不可超过 5 人
- 依旧是在管理页面
- 选择左侧仓库设置下的基本信息
- 拉到下面,有个是否开源 [开源 | 私有],选择开源,然后保存即可
- 步骤七:通知其他开发人员进行开发
开发人员乙
- 介绍:负责开发分类页面 (
cate
) 的相关功能 - 步骤一:先将远程仓库
clone
到本地git clone git@gitee.com:ltgcm/notes.git
- 步骤二:创建并切换到
cate
子分支git checkout -b cate
- 步骤三:进行分类页面的相关开发
- 步骤四:将
cate
分支进行本地提交git add .
git commit -m "完成分类页面的开发"
- 步骤五:将本地
cate
分支推送到Gitee
git push -u origin cate
Gitee
如果没有cate
分支,会自动创建
- 步骤六:如
cate
分支完全开发完毕,且测试无误,就可以将其合并到主分支master
git checkout master
— 切换到master
主分支git pull origin master
— 将远程仓库主分支与本地主分支合并,保证当前本地主分支为最新 (执行这一步的原因为:在多人开发中,其他人可能开发地比你快,已经推送到了远程库的主分支,这时你本地的主分支就不是最新的,在后面合并时会发生冲突,为了避免这种情况发生,就需要更新本地库的主分支)git merge cate
— 将cate
分支合并到主分支git push
— 将本地仓库推送到远程仓库git branch -d cate
— 删除本地的cate
分支
- 完成一项功能开发
- 介绍:负责开发分类页面 (
开发人员乙
- 介绍:已经进行过一次开发,又有了新的任务,负责开发搜索功能
- 步骤一:更新本地的仓库
git pull origin master
- 步骤二:创建功能开发分支
search
,并切换到该分支git checkout -b search
- 重复之前的步骤三~六