标题一、Git的工作流程
标题二、Git的安装
Git的安装可以参考
标题三、Git的配置
1、Git安装确认
按照《Git官方client及小乌龟Git安装手册》安装好git后,返回桌面点鼠标右键出现Git GUI Here 和Git Bash Here 证明git安装成功,如图1。Git GUI Here :(Git官方的图形化工具,用得比较少),Git Bash Here(Git官方的命令行工具)。
2、Git用户和邮箱配置
安装成功后,在桌面右键后进入Git Bash Here,进入Git的命令行进行用户名和邮箱配置。进入Git Bash Here后输入命令+自己的用户名(建议用工号)和命令+邮箱(建议用公司邮箱)。输入的指令如下:
git config --global user.name "your name" (输入后按回车,没有提示异常则配置成功) git config --global user.email "youremail@novastar.tech" (输入后按回车,没有提示异常则配置成功)
3、Git Bash生成和查看SSH Key
SSH Key是一种基于密钥的安全验证机制,用于SSH(Secure Shell)协议中,以安全地连接远程服务器或管理代码。所以需要在本地中生成SSH Key,生成之后把SSH Key密钥添加到远程GitLab中(后面会提到怎么添加),用于本s’shssh地和远程仓库的验证。SSH Key的生成,如图3,输入以下命令:
ssh-keygen -t rsa -C "youremail@novastar.tech"
如图4,查看公共密钥,输入一下命令:
cat ~/.ssh/id_rsa.pub4、GitLab添加公钥
复制生成后的 ssh key,可以直接复制上个步骤查看的ssh key或在.ssh路径下找到id_rsa.pub文件(一般在C盘的用户目录下)用记事本打开复制,如图5。
登录GItLab,通过点击头像=>Settings=>点击SSH Keys=>将SSH Keys拷贝到Git Lab中(拷贝可能存在长度限制可以分两次进行拷贝)=>Add key。公钥添加成功后,就可以用GIt Bash进行克隆,拉取,提交,推送等。
标题四、SourceTree安装
1、SourceTree安装
双击安装文件,点下一步。
如果系统已经安装Git,这里会自动勾选Git,Mercurial也是一种用于软件开发的分布式版本控制系统,也可不选,用Git就好了,如下所示:
配置首选项
选择是否创建SSH密钥,可以后面再配置,选择否。
2、SourceTree添加SSH公钥
工具=>选项=>SSH客户端=>选择OpenSSH=>选择生成公钥的路径(添加SSH密钥位置:C:\Users\xxxxx.ssh\id_rsa.pub)
SourceTree公钥添加成功后,就可以用SourceTree进行克隆,拉取,提交,推送等。
标题五SourceTree使用
1、SourceTree仓库克隆
2、SourceTree分支切换、创建、提交、推送
a)分支切换
在本地有对应的分支双击即可切换到对应的分支。如果本地分支没有对应的分支,需要到远程分支上检出到本地。双击进行切换。
b)创建分支
注意:在新建分支时,我们需要在哪个主分支的基础上新建分支必须先要切换到对应的主分支才能到该主分支上创建分支,如下我们要在分支上创建一个分支
c)代码提交、推送
1、首先要切换需要修改功能代码的所在的分支,若本地没有分支,可以双击远程仓库进行检出到本地。
2、代码修改后,将修改后的代码添加到暂存区。
3、将暂存区中的代码提交到本地代码仓库:
注意:多人同时开发项目的时候,不推荐默认选中立即推送变更到远程仓库,因为可能存在远程与本地代码库不同的情况,所以我们提交完成以后在拉取一下最新的代码,若存在冲突解决完冲突在推送到远程代码仓库。
4、代码拉取更新本地代码库,并将代码推送到远程仓库
5、勾选需要推送的分支,点击推送。成功推送到远程仓库。
标题六、Git命令使用
1、名词解析
| 名词 | 解析 |
|---|---|
| 克隆/新建(clone): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 |
| 提交(commit): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 |
| 推送(push): | 将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致(十分注意:这样你才能达到和别人最新代码同步的状态,同时也能够规避很多不必要的问题)。 |
| 拉取(pull): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 |
| 获取(fetch): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 |
| 分支(branch): | 建/修改/删除分枝。 |
| 合并(merge): | 将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消。 |
| 贮藏(git stash): | 保存工作现场。 |
| 丢弃(Discard): | 丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件。 |
| 标签(tag): | 给项目增添标签。 |
| 工作流(Git Flow) | 团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支 |
| 终端(terminal): | 可以输入git命令行。 |
| 检出(checkout): | 切换不同分支。 |
| 添加(add): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 |
| 移除(remove): | 移除文件至缓存区。 |
| 重置(reset): | 回到最近添加(add)/提交(commit)状态。 |
2、Git常用命令