1. Git安装
安装参考文件:https://git-scm.com/book/zh/v2/起步-安装-Git
Mac电脑自带git
2. git管理本地目录基本用法(Mac)
-
终端进入需要管理项目的目录
-
初始化
git ini
-
配置个人信息
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
-
查看文件状态
(红色文件表示工作区文件,什么是工作区文件下面会讲)
git statu
-
管理文件
(工作区文件变为缓存区文件,什么是缓存区文件下面会讲)
点击查看代码
``` git add filename // 将指定文件名的文件进行管理 git add . // 将所有未被管理的文件进行管理 ``` </details>
注:添加至管理后的文件,再使用
git status
查看时候,文件会变成绿色,绿色表示缓存区文件 -
生成版本
git commit -m "版本的描述信息"
-
版本记录
git log
3. 回滚操作
-
一个版本生成后,可以进行后续版本的开发,当需要回滚到之前版本
点击查看代码
git log //查看已经生成的版本 git reset --hard 版本号 // 回滚至指定版本号的版本
-
回滚后,又想回滚至回滚之前的版本
(比如我创建了 v1 v2 v3 三个版本,由v3回滚至v2后,又想再次回滚至v3,此时git log
已经查看不到v3的版本号了)点击查看代码
git reflog // 查看所有版本 git reset --hard 版本号
4. 小结
当前使用的基本命令及其补充,各工作区图示:
工作区 ---- 内包含两部分,已经控制的文件和新增加、修改的文件
缓存区 ---- 可以理解为已经开发得差不多了,可以打包成版本的文件
版本库 ---- 生成的版本保存的区域,本地git库(后面可以将本地的库保存至 Github上托管)
5. 分枝管理
-
分枝:git生成的版本,默认在master主线上,除了master主线git还可以生成不同的分枝
-
master主线上的版本,可以用作上线。当需要对上线版本做进一步开发时,可以在当前主线版本下生成一个分枝(相当于做一个拷贝),然后切换至分枝,对分枝做操作(开发)时候,不会对master主线版本产生任何影响(不影响当前版本的上线)
点击查看代码
git branch dev // 从当前分枝创建一个叫 dev 的分枝,默认当前分枝为master git branch // 查看当前分枝,分枝前面带 * 的就是当前分枝 git checkout dev //从当前分枝master切换至dev分枝,切换至dev分枝后就可以继续开发新版本了 // 当dev分枝新版本开发完成后,需要上线时候,需要对当前上线版本(master分枝上的版本)进行合并时候 git checkout master // 切换至master分枝,注意一定要进行换 git merge dev // 将master于dev进行合并,由于切换至了master,表示将dev合并进master ,此时master分枝上的就是新版本的代码 // 执行merge合并时候,可能会报警告。这是由于两个版本,如果都对某一个文件同一行做出了操作时候,merge不知道以谁为准,报出错误后根据提示打开对应文件,手动进行调整 // 创建版本 git add . git commit -m "第二版本" // 就可以将mastar分枝上的版本上线了 注意:建议将master分枝上的版本,始终作为上线版本,开发 debug 测试时候,均创建不同分枝在分枝上进行
-
一般开发工作流
开发时候创建dev分枝,开发完成后切换至master分枝,在merge合并dev分枝,在commit形成新的版本 -
修复bug工作流
开发时线上版本bug(c4状态)保存后,切换至master分枝创建bug分枝,修复bug(c5状态);切换至master分枝merge合并bug分枝,再次上线;切换至dev分枝继续开发,开发完成后切换至master分枝merge合并dev形成新的版本 -
删除分枝
git branch -d 分枝名称
6. GitHub托管
git可以连接Github仓库进托管
- 第一步注册Github账号
- 第二步创建一个代码仓库
- 推送本地git至代码仓库
git remote add origin 远程仓库地址
git push -u origin 推送的分枝名
- 从Github拉代码
(现在从Github拉拉代码需要持有令牌才能拉,参考教程:https://blog.csdn.net/qq_46941656/article/details/119737804)
git clone 远程仓库地址
....................