|
@ -0,0 +1,4 @@
|
|||
#这是注释
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 22 KiB |
|
@ -0,0 +1,37 @@
|
|||
# Git环境搭建
|
||||
## 资源准备
|
||||
- Git for Windows. https://git-scm.com/download/win, 一般选择“64-bit Git for Windows Setup”版本
|
||||
- TortoiseGit. https://tortoisegit.org/download/, 需要下载安装两个软件,一个主程序的安装包,另一个为语言支持包
|
||||
- git服务器账号注册
|
||||
## 安装教程
|
||||
### Git for Windows
|
||||
打开下载好的Git应用程序开始安装:
|
||||
1. 第一个界面为许可证,直接Next
|
||||
2. 安装路径,选好要安装的位置,Next
|
||||

|
||||
3. 选择组件,没有特别需求直接Next
|
||||

|
||||
4. 在开始菜单创建git文件夹
|
||||

|
||||
5. 为git选择默认的文本编辑器,初始值为vim,可以选择VSCode、NotePad++等
|
||||

|
||||
6. git默认分支名称,直接Next
|
||||

|
||||
7. 把git添加到环境变量, 默认即可,Next
|
||||

|
||||
8. 后面的全部默认Next,然后等待安装成功
|
||||
|
||||
### TortoiseGit
|
||||
先安装TortoiseGit主程序
|
||||
打开下载好的“TortoiseGit-2.15.0.0-64bit.msi”:
|
||||
一路Next,根据下图所示,选择安装位置,Next,Install
|
||||

|
||||
安装完后,第一次打开会让你选择语言包。 不要关闭,先放到一边。
|
||||
先安装TortoiseGit 语言包
|
||||
打开“TortoiseGit-LanguagePack-2.15.0.0-64bit-zh_CN.msi”,直接下一步,等待安装完成。
|
||||
这时回到TortoiseGit,点击“Refresh”,会出来中文选项。
|
||||
一路下一页,在“配置用户信息”界面,填入用户名和邮箱,要和在公司服务器注册时保持一致。
|
||||

|
||||
继续下一页,完成TortoiseGit配置。
|
||||
|
||||
|
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 40 KiB |
|
@ -0,0 +1,45 @@
|
|||
# 创建、修改、暂存和提交
|
||||
## 创建
|
||||
要将现有的软件程序纳入git管理,首先是创建版本库(或称存储库):
|
||||
选中要管理的工程文件夹,右键选择“Git 在这里创建版本库”,点击“确定”,git就会在工程目录下创建“.git”文件夹,一个空白的版本库就创建成功。
|
||||
## 修改
|
||||
在工程目录下,右键选择“TortoiseGit”,在“TortoiseGit”下选择“检查已修改”,会打开一个窗口来显示从上次提交到现在的所有修改。
|
||||
双击文件可以查看修改的内容。
|
||||
上一步创建了空白的版本库,所以这里是工程目录下的所有文件。
|
||||
### 忽略
|
||||
并不是所有的文件都需要纳入Git管理,有些文件与源代码无关,只是编译生成的中间文件或者用户个人的配置,纳入管理反而增加存储库的内存。
|
||||
这里拿Keil的工程举例:
|
||||

|
||||
“./objects”文件夹下编译生成的中间文件(.o、.d、.crf)是用不到版本管理的。但是生成的hex文件**可以选择**记录。“./listing”下的map文件也是用不到的。
|
||||
用户自己的uvguix文件,不会影响编译结果,也没必要管理。
|
||||
我们通过创建.gitignore文件,确定工作目录下哪些文件要纳入管理,哪些文件要忽略掉。
|
||||
举例:在Hello目录下创建 “.gitignore” 文件,将./objects文件夹下编译生成的中间文件忽略掉,但是保留生成的hex文件。内容如下:
|
||||
```
|
||||
#这是注释
|
||||
#忽略整个listing文件夹
|
||||
/listing
|
||||
#忽略某个文件夹下的所有文件
|
||||
/objects/*
|
||||
#在上面基础上将hex文件纳入管理(可选)
|
||||
!/objects/*.hex
|
||||
#忽略keil的用户uvguix文件
|
||||
*.uvguix.*
|
||||
#忽略JLinkLog.txt文件
|
||||
JLinkLog.txt
|
||||
```
|
||||
现在在“检查已修改”窗口,点击“刷新”按钮,./objects文件夹下只剩hex文件,./listing文件夹消失,uvguix文件消失。
|
||||
## 暂存和提交
|
||||
### 暂存
|
||||
在其他Git客户端中可能有暂存的概念,它们提交的过程为:修改 >> 暂存 >> 提交。
|
||||
暂存主要用于分批提交,比如已经开发了A、B两个功能,想要把A、B分开提交,可以先把A的文件放在暂存区,然后提交。再把B放到暂存区,然后提交。
|
||||
TortoiseGitz支持勾选文件提交,因此用不到暂存功能,它的提交过程为:修改 >> 提交。
|
||||
### 提交
|
||||
紧跟上面的操作,点击“提交”,弹出提交窗口:
|
||||

|
||||
最上面是选择提交到哪个分支,现在只有“master”分支。
|
||||
然后是本次提交的日志信息,日志信息必须写,不写提交不了。日志信息应尽可能详细,和之前的readme.txt一样。
|
||||
下面选择要提交的文件,这里我们点击“全部”。
|
||||
最后点击提交。
|
||||
## 贮藏更改
|
||||
有些情况下,正在开发的功能被打断,需要做其他工作,例如紧急修复BUG。这时需要保留已经更改的代码, “检查已修改” >> 贮藏 >> 填写贮藏日志 >> 确定
|
||||
其他工作忙完后,弹出贮藏
|
|
@ -0,0 +1,6 @@
|
|||
## 克隆
|
||||
指将远端服务器的存储库下载到本地
|
||||
拿本存储库举例,在本地新建一个文件夹,进入文件夹,右键菜单选择“Git 克隆”,弹出克隆窗口,在URL输入"http://172.188.24.12:3000/mengfanxing/git_tutorials.git",前面的链接可以在服务器存储库界面复制。点击确定,开始克隆,等待克隆完成,然后在本地文件夹就可以看到名为“git_tutorials”的存储库。
|
||||
## 拉取
|
||||
由于服务器存储库不只一个人维护,常常出现本地软件版本才V1.0,服务器仓库都更新到V1.3的情况。这时,可以在本地存储库右键菜单选择“TortoiseGit”,然后选择“拉取”,点击确认。这样维持服务器和本地的同步。
|
||||
## 推送
|
|
@ -0,0 +1,8 @@
|
|||
# 分支管理
|
||||
|
||||
- master
|
||||
- develop
|
||||
- release
|
||||
- hotfix
|
||||
|
||||
多定制版本维护
|
|
@ -0,0 +1,17 @@
|
|||
# Git软件版本管理工具教程
|
||||
研发Git工具内部培训教程
|
||||
## 服务器
|
||||
用浏览器访问公司Git服务器网址 (孙村或临沂的同事需要先打开PLM的VPN):
|
||||
http://172.188.24.12:3000/
|
||||
后面所有涉及到Git服务器的操作都应保证VPN畅通
|
||||
|
||||
新用户需要先注册:
|
||||
- 用户名请使用名字全拼
|
||||
- 邮箱请使用公司邮箱
|
||||
|
||||
## 教程内容
|
||||
0. [Git环境安装](./Lab0/lab0.md)
|
||||
1. [创建、修改、暂存和提交](./Lab1/lab1.md)
|
||||
2. [克隆、拉取、推送](./Lab2/lab2.md)
|
||||
3. [分支管理](./Lab3/lab3.md)
|
||||
4. [进阶(coming)](./)
|