赞
踩
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的内容:
(1)git stash list //查看stash列表
(2)git stash clear // 清空stash中所有的内容
若只有一个队列:stash@{0}
git stash drop stash@{0} //删除第一个队列
13. QFIL下载及后续过程注意事项:
如at+iccid 、at+cimi、at、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
(此时开关拨到on和L,modem存在)
下载(以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 . //只显示本目录下的文件修改状态变化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。