天天看点

Git从登陆服务器-拉代码-比对提交回退全过程一、登陆二、拉取代码三、开启编译四、提交代码五、打patch,提交的代码,生成文件 随时查看六、其他分支相同提交七、回退之前提交并删除修改八、查看历史提交

git从登陆服务器-拉代码-编译-比对提交

一、登陆

配置自己的用户名和邮箱地址

二、拉取代码

mkdir android-q-lxj 创建自己文件夹

cd android-q-lxj 进入自己的文件夹

ssh【项目地址】info 查看仓库项目列表

如 ssh [email protected] info

找到自己想拉取的项目,如amlogic/android-q

拷贝代码 git clone [email protected]:amlogic/android-q

进入刚刚拉取的 android-q文件夹

(附加)git clone [email protected]:app-repo-v2 保存签名文件

三、开启编译

Android系统提供了相应指令用于编译*(不熟悉可以百度搜索m,mm,mmm编译)*

首先需要在Android项目根目录下配置环境:

source build/envsetup.sh 要确保当前根目录下有envsetup.sh脚本文件

lunch 或lunch 103E-user 选择对应的工程

mmma:指定目录下新增或删除文件后,可以用mmma重新编译。 // 未全编译的情况系下,可以使用该命令单编译模块

如mmma vendor/sei/apps/TvGlobalKeyHandler -j16 选具体应用,和编译线程,编译具体apk

mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件

mmm frameworks/base/ -j16 编译frameworks -j16是特殊的选择16线程

make 系统整编

四、提交代码

git checkout atv 切换到另一个分支,如atv分支

git pull 拉取最新代码

beyond Compare软件 比对代码

git status 查看修改文件

git diff 查看具体修改内容

git add . 提交所有改动

git add [具体文件路径] 提交该文件改动

git commit -m “[目标文件夹] 修改描述” 如: git commit -m “[packages] Settings第一次修改”

将提交push到远程版本库(如有其他分支,请替换master)

$ git push origin master 最后确认无误提交 ,慎重

五、打patch,提交的代码,生成文件 随时查看

git format-patch 0811fc550d06c7a778925a9ba301c73d1881a3f2 -1 直接git format-patch -1也行

-1为单次提交的,-n为包含这次提交以及之前的几次提交,依次生成.patch文件

应用patch:

先检查patch文件:git apply --stat newpatch.patch

检查能否应用成功:git apply --check newpatch.patch

打入patch git apply xxx.patch

也可以批量,也可以单个。 git apply ~/patch/patch/*.patch

六、其他分支相同提交

git branch 查看已有分支

git checkout atv_dvb 切换到atv_dvb分支

git pull 更新该分支代码

git status 查看分支状态

git log master 查看之前master分支的历史提交

git cherry-pick commitid值 如: git cherry-pick 0811fc550d06c7a778925a9ba301c73d1881a3f2

挑到其他分支.

七、回退之前提交并删除修改

git reset --hard {到后一个事件id}

如:git reset --hard d36d42764e7370bf93cd4f9eab26088ff82e4840

  1. 使用git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。
  2. git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96

删除最后一次远程提交 使用revert

git revert

git revert commitId 回退commitId 的提交

git push origin master 提交到master分支

八、查看历史提交

git log 查看历史提交

git show --raw 展示上一个提交的文件列表

git show --raw (commitid) 展示commitid里提交的文件列表

git log --grep “XXX” 筛选

git log filename 查看filename的历史提交

跨分支展示提交 git show origin/atv (commitid) 展示atv分支提交 的commitid

git 更快的搜索“对应内容”,可以搜索多个文件目录

git grep -ni “netflix” frameworks/base/ packages/apps/ vendor/

更多Android系统和应用开发的讨论,欢迎加入我,个人微信号:Doraemon_student

继续阅读