当前位置:   article > 正文

git 相关文件指令随笔_git abandon

git abandon

1.若commit 且push后,发现文件存在问题,可如下操作

(1)本地修改对应文件至OK,然后,

  git add filename

 git commit --amend

 git push .....

 eg:(git push ssh://username@master.gerrit.legato:29418/rolling-afp HEAD:refs/for/master)

这样修改后的文件就会commit到同一个commit ID上,且push更新到同一处;

2. 若commit 且push后,发现存在merge conflict,可如下操作

 (1) 将push的单abandon掉,本地repo sync 获取最新的代码,将自己的文件改动更新进去,然后

    git add filename

    git commit -s

    git push ..... 

这样修改后的文件就OK了(这种方法暴力快捷,推荐),之前的Commit记录也会被删除掉。

(2)本地repo sync 获取最新的代码,cherry-pick之前的提交,合并提交即可

      repo sync

     git fetch "ssh://username@XXXX" refs/changes/04/73804/2 && git  cherry-pick xxx

     修改以解决冲突

     git add filename

     git commit --amend

     git push .....

3. 删除错误的Push(abandon)以及commit记录

(1)git reset --hard commit-ID(该ID设为想要删除的commit的前一次commit的ID即可).

     即为所有的文件状态回复到commit-ID的提交完成状态。

常规的commit 、push以及相应的解决冲突的方法过程:

4.初次修改并commit:

git fetch origin

git branch -b DEV origin/master

git add filename

git commit -s

git push ssh://username@master.gerrit.legato:29418/rolling-afp HEAD:refs/for/master

5.再次修改提交:

git add filename

git commit –amend

git push ssh://username@master.gerrit.legato:29418/rolling-afp HEAD:refs/for/master

6.有冲突时:

git fetch origin

git fetch "ssh://username@gerrit-legato:29418/rolling-afp" refs/changes/36/73836/4 && git cherry-pick FETCH_HEAD

查看并解决冲突:

进入冲突文件:

$ vim filename

删除冲突字符“<<<<<<<<<<<<<<<<<<<<<”等

保存离开

git add filename

git commit

git push ssh://username@master.gerrit.legato:29418/rolling-afp HEAD:refs/for/master

7.查看两个分支的区别:

git log dev ^master //查看dev分支有,而master分支没有的东西

git log master ^dev //查看master分支有,而dev分支没有的东西

git log dev... master //单纯显示两个分支有何不同

git log --left-right dev... master //显示两个分支有何不同,左箭头 < 表示是 dev 的,右箭头 > 表示是 master的

查找 username 提交的版本:

$ git log --author= username

仅简要的显示 文件 增改行数统计,每个提交都列出了修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计:

$ git log –stat

-p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:

$ git log -p -2

git blame <file>   //以列表形式查看指定文件的历史修改记录。

git  alog  =  git log  --decorate –graph –oneline –all

//图形化比较显示所有不一样的commit code, 而后你能够根据状况查看不一样的两次commit的区别

git  clog  =  git log  --decorate –graph –oneline            //仅展示分支所在的线的提交记录

git checkout -f DEV  //强制切换到DEV分支

8.快速删除大量文件的大文件夹:

 sudo apt-get install rsync

mkdir -p  /home/username/blank  //红色为你想要删除的文件所在的上层目录

rsync --delete-before -d / home/username/blank / / home/username/blank /code1/

//上面绿色的为想要删除的文件夹,其路径为:/home/username/code1  

9. repo sync 遇到“Discarding 1 or more commmits”报错,解决方法:

cd 进入报错的文件夹目录

sudo chown -R user:user ./*;repo forall -c 'git reset --hard; git clean -f -d -x'; time repo sync; date;

10. repo sync 遇到"error: sa515m/: contains uncommitted changes"报错,解决方法:

$ cd sa515m/

$ git stash

$ git clean -f -d

$ repo sync

11. repo sync时遇到如下报错:

It seems that there is already a rebase-apply directory, and
I wonder if you are in the middle of another rebase.  If that is the
case, please try
        git rebase (--continue | --abort | --skip)
If that is not the case, please
        rm -fr "D:/code/xxx/.git/rebase-apply"
and run me again.  I am stopping in case you still have something
valuable there.

一种解决方法:

$  rm -fr "D:/code/xxx/.git/rebase-apply"

$ repo sync

12. git 删除stash的内容:

1git stash list         //查看stash列表

2git stash clear     // 清空stash中所有的内容

         若只有一个队列:stash@{0}

         git stash drop stash@{0}         //删除第一个队列

13. QFIL下载及后续过程注意事项:

  1. 安装高通下载驱动:GenericSetup
  2. 打开QFIL界面,拔插开发板电源、OFF-ON-FFservice-off-service操作;
  3. QFIL界面一般会自动识别端口,然后添加content.xml文件下载路径,设置存储类型为nand
  4. 点击Dowload,等待下载完成;
  5. 然后,拔插电源,将两开关都拨到onservice)处;
  6. 打开设备管理器,观察是否有modem出现(有则正常,无则重新拔插及拨动开关,看是否恢复)
  7. modem一直反复闪烁(时有时无),则可能是烧录的代码image有问题导致的crash;这时一般需要下载debug驱动CH341SERDRVSETUP64.exe)并连接debug插件线进行串口输出查看log(putty+COM+将两开关都拨到onservice)处;若无反应,拨动开关然后复原,或插拔debug线,重新链接putty)
  8. 正常连接上,putty打开对应串口后,便会运行显示输出log信息,即可对应查看错误;
  9. 若modem正常稳定,则可右键点击modem,点击属性,点击modem,查看modem的端口(本文的为COM7);
  10. 用putty打开COM7口,发送at指令即可得到相应的返回值。

at+iccid at+cimiat、ati等

14. Cherry-pick相关过程:

repo sync

git branch DEV

git checkout DEV

git fetch "ssh://username@gerrit-legato:29418/rolling-afp" refs/changes/61/74161/4 && git cherry-pick FETCH_HEAD

解冲突(sudo vim filename or use notepad++ directly

git add filename

git cherry-pick –continue

git push ssh://Jacob.Zheng@master.gerrit.legato:29418/rolling-afp HEAD:refs/for/master

IDT相关设置:

将要下载的.cwe文件拷贝到本地建立的:D:/Tools/IDT中

打开本地的cmd命令行,

$: cd D:/Tools/IDT

$: D:

进入该路径下,输入查找命令:

Idt -H

即可获取相关的命令行格式,按照个人需求进行设置即可

运行下载指令:

Idt.exe -f D:\Tools\IDT\core_4k\spkg.cwe -ds

(此时开关拨到onLmodem存在)

下载(以flash image结束,后面提示下载失败,一般为工具问题,可不理会)

15. ADB相关指令使用(部分)

TZ分区检查测试指令:

// 看 tz分区 对应的mtd
mtdinfo -a

版本及类型:03.07 && 双系统

mtd7

Name:                           tz

Type:                           nand

Eraseblock size:                262144 bytes, 256.0 KiB

Amount of eraseblocks:          20 (5242880 bytes, 5.0 MiB)

Minimum input/output unit size: 4096 bytes

Sub-page size:                  4096 bytes

OOB size:                       256 bytes

Character device major/minor:   90:14

Bad blocks are allowed:         true

Device is writable:             true

分区名及逻辑分区文件大小: mtd7 && 5M

//把TZ 分区DUMP 成文件 m.bin
dd if=/dev/mtd7 of=/tmp/m.bin bs=1M count=5

//把m.bin 下载到本地
adb pull /tmp/m.bin D:\Q_D_New   //要切换到Windows控制台执行该条命令

16. source insight 使用小技巧

*要想查看诸如nand_core.c 和nand_entry.c等底层代码,将源代码所在的最上层文件夹等加入Source insight 中去即可

Project--à add or remove files … ---àchoose files, add all,勾选弹窗两个选项 ----àclose

---à 右键“project files”右下角空白处,选择“open project” ---à 选择要同步的工程 -----点击即可进入同步。

Git 命令:

Git status .           //只显示本目录下的文件修改状态变化

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号