commit 777a467a6dfa5bfcd02063b838485f88467eafd9 Author: mengfanxing Date: Sat Mar 23 16:05:37 2024 +0800 框架基本搭建完成; 安装章节完成; 提交章节完成; 远程操作待完成。。。 分支管理待完成。。。 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2440048 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +#这是注释 + + + diff --git a/Lab0/TortoiseGit_install_location.png b/Lab0/TortoiseGit_install_location.png new file mode 100644 index 0000000..14ee867 Binary files /dev/null and b/Lab0/TortoiseGit_install_location.png differ diff --git a/Lab0/git_branch.png b/Lab0/git_branch.png new file mode 100644 index 0000000..52f704f Binary files /dev/null and b/Lab0/git_branch.png differ diff --git a/Lab0/git_components.png b/Lab0/git_components.png new file mode 100644 index 0000000..a4a538b Binary files /dev/null and b/Lab0/git_components.png differ diff --git a/Lab0/git_editor.png b/Lab0/git_editor.png new file mode 100644 index 0000000..f3f2de8 Binary files /dev/null and b/Lab0/git_editor.png differ diff --git a/Lab0/git_https.png b/Lab0/git_https.png new file mode 100644 index 0000000..60b2f21 Binary files /dev/null and b/Lab0/git_https.png differ diff --git a/Lab0/git_install_location.png b/Lab0/git_install_location.png new file mode 100644 index 0000000..79083bc Binary files /dev/null and b/Lab0/git_install_location.png differ diff --git a/Lab0/git_line_end.png b/Lab0/git_line_end.png new file mode 100644 index 0000000..60c7852 Binary files /dev/null and b/Lab0/git_line_end.png differ diff --git a/Lab0/git_path_env.png b/Lab0/git_path_env.png new file mode 100644 index 0000000..b4259d1 Binary files /dev/null and b/Lab0/git_path_env.png differ diff --git a/Lab0/git_ssh.png b/Lab0/git_ssh.png new file mode 100644 index 0000000..9c767a0 Binary files /dev/null and b/Lab0/git_ssh.png differ diff --git a/Lab0/git_start_folder.png b/Lab0/git_start_folder.png new file mode 100644 index 0000000..f663956 Binary files /dev/null and b/Lab0/git_start_folder.png differ diff --git a/Lab0/git_terminal.png b/Lab0/git_terminal.png new file mode 100644 index 0000000..4bec69e Binary files /dev/null and b/Lab0/git_terminal.png differ diff --git a/Lab0/lab0.md b/Lab0/lab0.md new file mode 100644 index 0000000..75e82e9 --- /dev/null +++ b/Lab0/lab0.md @@ -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 + ![](./git_install_location.png) +3. 选择组件,没有特别需求直接Next + ![](./git_components.png) +4. 在开始菜单创建git文件夹 + ![](./git_start_folder.png) +5. 为git选择默认的文本编辑器,初始值为vim,可以选择VSCode、NotePad++等 + ![](./git_editor.png) +6. git默认分支名称,直接Next + ![](./git_branch.png) +7. 把git添加到环境变量, 默认即可,Next + ![](./git_path_env.png) +8. 后面的全部默认Next,然后等待安装成功 + +### TortoiseGit +先安装TortoiseGit主程序 +打开下载好的“TortoiseGit-2.15.0.0-64bit.msi”: +一路Next,根据下图所示,选择安装位置,Next,Install +![](./TortoiseGit_install_location.png) +安装完后,第一次打开会让你选择语言包。 不要关闭,先放到一边。 +先安装TortoiseGit 语言包 +打开“TortoiseGit-LanguagePack-2.15.0.0-64bit-zh_CN.msi”,直接下一步,等待安装完成。 +这时回到TortoiseGit,点击“Refresh”,会出来中文选项。 +一路下一页,在“配置用户信息”界面,填入用户名和邮箱,要和在公司服务器注册时保持一致。 +![](./tortoisegit_user.png) +继续下一页,完成TortoiseGit配置。 + + diff --git a/Lab0/tortoisegit_user.png b/Lab0/tortoisegit_user.png new file mode 100644 index 0000000..0eb2949 Binary files /dev/null and b/Lab0/tortoisegit_user.png differ diff --git a/Lab1/hello_struct.png b/Lab1/hello_struct.png new file mode 100644 index 0000000..c56b8bc Binary files /dev/null and b/Lab1/hello_struct.png differ diff --git a/Lab1/hello_submit.png b/Lab1/hello_submit.png new file mode 100644 index 0000000..226ae52 Binary files /dev/null and b/Lab1/hello_submit.png differ diff --git a/Lab1/lab1.md b/Lab1/lab1.md new file mode 100644 index 0000000..d59a192 --- /dev/null +++ b/Lab1/lab1.md @@ -0,0 +1,45 @@ +# 创建、修改、暂存和提交 +## 创建 +要将现有的软件程序纳入git管理,首先是创建版本库(或称存储库): +选中要管理的工程文件夹,右键选择“Git 在这里创建版本库”,点击“确定”,git就会在工程目录下创建“.git”文件夹,一个空白的版本库就创建成功。 +## 修改 +在工程目录下,右键选择“TortoiseGit”,在“TortoiseGit”下选择“检查已修改”,会打开一个窗口来显示从上次提交到现在的所有修改。 +双击文件可以查看修改的内容。 +上一步创建了空白的版本库,所以这里是工程目录下的所有文件。 +### 忽略 +并不是所有的文件都需要纳入Git管理,有些文件与源代码无关,只是编译生成的中间文件或者用户个人的配置,纳入管理反而增加存储库的内存。 +这里拿Keil的工程举例: +![](./hello_struct.png) +“./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支持勾选文件提交,因此用不到暂存功能,它的提交过程为:修改 >> 提交。 +### 提交 +紧跟上面的操作,点击“提交”,弹出提交窗口: +![](./hello_submit.png) +最上面是选择提交到哪个分支,现在只有“master”分支。 +然后是本次提交的日志信息,日志信息必须写,不写提交不了。日志信息应尽可能详细,和之前的readme.txt一样。 +下面选择要提交的文件,这里我们点击“全部”。 +最后点击提交。 +## 贮藏更改 +有些情况下,正在开发的功能被打断,需要做其他工作,例如紧急修复BUG。这时需要保留已经更改的代码, “检查已修改” >> 贮藏 >> 填写贮藏日志 >> 确定 +其他工作忙完后,弹出贮藏 diff --git a/Lab2/Lab2.md b/Lab2/Lab2.md new file mode 100644 index 0000000..8a66655 --- /dev/null +++ b/Lab2/Lab2.md @@ -0,0 +1,6 @@ +## 克隆 +指将远端服务器的存储库下载到本地 +拿本存储库举例,在本地新建一个文件夹,进入文件夹,右键菜单选择“Git 克隆”,弹出克隆窗口,在URL输入"http://172.188.24.12:3000/mengfanxing/git_tutorials.git",前面的链接可以在服务器存储库界面复制。点击确定,开始克隆,等待克隆完成,然后在本地文件夹就可以看到名为“git_tutorials”的存储库。 +## 拉取 +由于服务器存储库不只一个人维护,常常出现本地软件版本才V1.0,服务器仓库都更新到V1.3的情况。这时,可以在本地存储库右键菜单选择“TortoiseGit”,然后选择“拉取”,点击确认。这样维持服务器和本地的同步。 +## 推送 \ No newline at end of file diff --git a/Lab3/lab3.md b/Lab3/lab3.md new file mode 100644 index 0000000..1fbf0a4 --- /dev/null +++ b/Lab3/lab3.md @@ -0,0 +1,8 @@ +# 分支管理 + +- master +- develop +- release +- hotfix + +多定制版本维护 \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..d115c8e --- /dev/null +++ b/readme.md @@ -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)](./) \ No newline at end of file