四川网站建设外包,智联招聘网站怎么做微招聘信息吗,快云助手网站建设视频教程,前端需要会wordpress文章目录 需求及场景需求困难疑惑点 源码管理方式及过程基本仓库管理方式 常用源码git 命令git init添加.gitignoregit add allgit add 文件名称git commit -a -m 提交内容说明git statusgit loggit reset --hardgit clean -fd实际场景#xff0c;从一个项目切换到… 文章目录 需求及场景需求困难疑惑点 源码管理方式及过程基本仓库管理方式 常用源码git 命令git init添加.gitignoregit add allgit add 文件名称git commit -a -m 提交内容说明git statusgit loggit reset --hardgit clean -fd实际场景从一个项目切换到另外一个项目如何做git 相关内容学习推荐 图形化git 工具工具推荐git-gui高逼格界面工具推荐 总结 需求及场景
需求
作为Framework、底层开发工程师日常工作中普通用户情况下如何管理Android平台源码日常开发提交源码如何清晰查看Android提交记录方便check 修改的内容
困难疑惑点
以前是服务端、应用端工程师转做系统在接触几百个G的系统源码过程中代码管理有点压力了每次命令 比如 git status 没那么快编译一次编译文件很多源码如何进行git管理不清楚开发过程中不像服务器、应用端、前端面向的是windows/mac 系统进行IDEA桌面开发git 都有自己的客户端直接操作或者直接命令。 但是系统底层开发过程中入口通过SSH连接的一个窗口源码管理更加懵了要怎么搞、全部命令来查看修改内容、merge 内容也不太方便。
源码管理方式及过程
这里暂不讨论SVN了毕竟git 用的多且方便这里介绍一种管理方式自己比较常用的方式
基本仓库
代码有一个基本仓库、公共仓库一说不同项目的所有一致性修改作为一个基本仓库。日常工作中一套代码会有大几十个客户或者上百个客户。每个客户都有自己定制的内容对于非定制的内容 就是一个基本仓库。我们维护的其实就是基本仓库和每个项目定制的修改内容
管理方式
在仓库中创建一个目录存放多个项目修改的内容每一个项目单独创建一个目录放置修改的内容每次提交项目定制的修改内容如果是公版修改作为公版修改内容如果需要切换项目重置公版到最新的修改在每个项目文件中一键copy 修改的内容到指定的目录。这样就实现了切换项目的目的
常用源码git 命令
在上面管理方式中已经我们自己维护一套代码过程中基本的git 命令如下。
git init
初始化一个git仓库会创建一个.git目录包含该仓库的所有元数据如暂存区数据等 场景这个是基础命令当我们拿到系统源码时候如果自己搭建git 项目管理这个应该是第一步。
添加.gitignore
对于生成的编译文件目录、生成的文件目录是不需要添加到git 版本控制中的比如我自己简单的一个.gitignore
wfcwfc-X99:~/wfc/Android/sourc_android12/rk_android12.0_sdk$ cat .gitignore
out/
rockdev/
rockdev
out
git add all
比如上面步骤后讲所有文件添加到版本控制中去
git add 文件名称
讲某个文件添加到版本控制中去
git commit -a -m “提交内容说明”
ait add后所有的文件其实都是缓存状态或者 修改的文件当前也是出于缓存状态提交 commit
git status
查看当前仓库(当前分支)的状态如有哪些文件处于暂存区需要commit。
git log
查看提交记录(当前分支)
wfcwfc-X99:~/wfc/Android/sourc_android12/rk_android12.0_sdk$ git log
commit d40329de90ee17911fc77d4d59a3972b9f365a0f (HEAD - master)
Author: itjavawfc163.com itjavawfc163.com
Date: Fri Sep 27 22:03:40 2024 0800默认横屏显示功能实现commit df4abcabb328a44e244ec6b125267aea31870459
Author: itjavawfc163.com itjavawfc163.com
Date: Fri Sep 27 09:22:15 2024 0800代码调试commit 3ed636ed1b22db542891ecabe48cd2dc71dd0d91
Author: itjavawfc163.com itjavawfc163.com
Date: Sat Sep 21 00:37:47 2024 0800初始化代码仓库
wfcwfc-X99:~/wfc/Android/sourc_android12/rk_android12.0_sdk$ git reset --hard
重置版本库所有文件到最后一次commit(回退版本不能回退指定文件工作区文件也回退清除暂存区)。
git clean -fd
-f 参数表示“force”将会强制删除文件和目录。-d 参数表示除了删除文件外还要删除空目录 一旦执行了git reset --hard和git clean -fd所有未提交的更改都将丢失。在执行这些操作之前请确保你不需要这些更改。
实际场景从一个项目切换到另外一个项目如何做
git reset --hard 重置到当前版本到最近一次修改git clean -fd 清除当前生成的新文件git status 在执行上两个命令时候已经是clean 最新状态了git status 确认下当前是否clean 状态git pull 拉取最新代码cd 到 项目目录 copy 项目到公版./build cmd 编译项目
git 相关内容学习推荐
git简明指南 git教程-菜鸟教程 git官网 git分支开发原理 剖析git实现机制
图形化git 工具
为什么要用图形化界面工具也可以不用直接git 命令查看。 但频繁麻烦的git 操作显示结果有的时候不直观没法一目了然显示也不友好功能不强大。
工具推荐git-gui
安装sudo apt-get install git git-gui使用打开终端在想打开git的目录下运行git gui 即可 高逼格界面工具推荐
Git 图形化工具推荐
总结
提升源码管理能力提升底层开发效率 管理好源码