常用指令总结

本文详细介绍如何使用Git进行代码提交的修改、分支间的提交转移及代码同步等操作。具体包括直接修改提交、转移提交到另一分支的方法,以及如何解决冲突、拉取代码、编译和调试等常见任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【git】下面是直接更改某次提交的操作步骤:

  1. 将HEAD移到需要更改的commit上:
    git rebase f744c32cf74454a74bb2f80e5e38b120cb475af1 --interactive
    找到需要更改的commit, 将行首的noop改成edit, 按esc, 输入:wq退出
  2. 更改文件
  3. 使用git add 改动的文件添加改动文件到暂存
  4. 使用git commit --amend追加改动到第一步中指定的commit上
  5. 使用git rebase --continue移动HEAD到最新的commit处
  6. 第5步可能会提示:  error: 缺少 edit 的参数
                                     error: 无效行 1:edit
                                     error: 请用 'git rebase --edit-todo' 来修改。
  7. 执行git rebase --edit-todo,将edit改为noop,保存退出,并再执行git rebase --continue
  8. 第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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值