【git】下面是直接更改某次提交的操作步骤:
- 将HEAD移到需要更改的commit上:
git rebase f744c32cf74454a74bb2f80e5e38b120cb475af1 --interactive
找到需要更改的commit, 将行首的noop改成edit, 按esc
, 输入:wq
退出 - 更改文件
- 使用
git add 改动的文件
添加改动文件到暂存 - 使用
git commit --amend
追加改动到第一步中指定的commit上 - 使用
git rebase --continue
移动HEAD到最新的commit处 - 第5步可能会提示: error: 缺少 edit 的参数
error: 无效行 1:edit
error: 请用 'git rebase --edit-todo' 来修改。 - 执行git rebase --edit-todo,将edit改为noop,保存退出,并再执行
git rebase --continue
第5步可能还会有代码冲突
,需要解决:- 编辑冲突文件, 解决冲突
git add .
git commit --amend
- 解决冲突之后再执行
git rebase --continue
【git】下面是直接更改最近一次提交的操作步骤:
1.修改文件
2.git add -u
3.git diff --cached
4.git commit --amend
【git】把某个分支的某一次提交转移到另外一个分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -vva 查看所有分支的详细信息
所有的远程分支都需要创建与之对应的本地分支,如下
[例子]git checkout -b fenzhi001 origin/fenzhi001
git checkout -b 本地分支名x origin/远程分支名x
[例子]把optdev分支(本地)的某一次提交转移到dev分支(远程)
git log (optdev)
复制commitId
切换到dev分支的本地分支devlocal
拉dev分支的最新代码
在devlocal分支 git cherry-pick commitId
如果有冲突,解决冲突之后 git add . git cherry-pick --continue
最后push到dev
拉取代码命令:
repo init -u ssh://songyan@10.20.40.19:29418/FreemeOS/manifest -m ALPS-MP-O1/freeme-8.1.1_r3.xml
repo sync -c -d
全编使用脚步
./mk -d -f d09_a new
脚本编译指令
./mk -d -f mmm vendor/freeme/packages/apps/FreemeSystemUI/
原生编译指令
source build/envsetup.sh
lunch
到SystemUI下面单编(mm)
使用脚本单编./mk -d -f mmm vendor/freeme/packages/apps/FreemeSystemUI/
生成apk,导入手机,并杀掉进程
adb push ~/repo_test/Android8_r1/out/target/product/d09_a/system/priv-app/FreemeSystemUI/FreemeSystemUI.apk /system/priv-app/FreemeSystemUI/FreemeSystemUI.apk
adb shell "ps -ef | grep systemui" //查看进程信息
或者 adb shell ps -A | grep systemui
adb shell "kill -9 10237" //根据进程信息杀死相应进程
或者直接使用如下命令杀死进程
adb shell "killall com.android.systemui"
查看log信息
adb shell "logcat" | grep AndroidRuntime
或者使用
adb logcat > ~/log.log
adb logcat | grep systemui
查看提交状态
git status
git checkout
git add
git commit -m "提交信息"
git log
git reset --hard 6f83836332..........
获取属性信息
adb shell "getprop ro.build.fingerprint"
git push origin HEAD:refs/drafts/master
git push origin HEAD:refs/for/master
1、origin/master : 一个叫 origin 的远程库的 master 分支
2、HEAD指向当前工作的branch
3、git push origin 本地分支A : 远程分支B ---> push 本地分支A到远程库origin的分支B
参考https://www.cnblogs.com/reality-soul/p/4964049.html
git pull --rebase,这里表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到本地当前分支上。
git fetch
git reset --hard HEAD~1 回退最新一笔提交
创建新的的本地分支(支持repo upload)
repo start R3 --all(R3是要创建的本地分支的名称,--all是项目名称这里通常为--all)
创建分支:git branch BranchName
切换分支:git checkout BranchName
find . -name Q*Ti*Im*.java
git blame ./packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
git show 572230b7a993