自用git命令


ps:1、给GIT 常用command要在当前目录下有.git仓库时才能用git命令,一般每个一级目录就是一个git目录。

2、如果没有改动是不能再次commit的。

3、STORY-1120601: 后要加个空格。

4、C语言的宏记得大写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RwfoOpkB-1680436939603)(D:\MarkdownNote\图库\git_branch_6.png)]

git代码提交流程

1、给git命令取别名

//保存gerrit密码
git config --global credential.helper store

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.cp cherry-pick

2、返回看之前提交过的代码改动

1、去到代码的一级(或多记)目录

2、git status看被改过的文件

3、git log显示修改日志,保存commit-id

4、git show commit-id

3、同步服务器最新代码

拉代码前一定要先更新本地代码到最新状态再拉

repo status //查看分支
repo forall -c "git checkout master" //仓库跟踪分支
repo forall -c 'git reset HEAD --hard' //同步服务器上的改动
repo forall -c 'git clean -f -d'
repo forall -c 'git pull'//拉代码

repo forall -c "git checkout master";repo forall -c 'git reset HEAD^^^ --hard';repo forall -c 'git clean -f -d';repo forall -c 'git pull'
//拉完新代码卡logo的话记得重新编个整包

4、管理远程仓库的命令

 //查看所有的远程仓库
 git remote -v
 //移除一个叫origin的远程仓库
 git remote remove origin
 //增加一个叫asop的远程仓库
 git remote add asop  http://liziru@192.168.aa.bb:ccc/a/adv_oh3.0/platform/device.git
 //查看远程仓库信息
 git remote show http://liziru@192.168.aa.bb:cccc/a/adv_oh3.0/platform/device.git
 //把远程仓库名称改为gitee
 git remote rename origin gitee

5、从远程获取代码

//从远程仓库拉取最新代码并合并到本地仓库
git pull

6、分支管理命令

//查看所有分支
git branch -a
//切换到newtest这个分支
git checkout newtest
//创建一个test分支
git branch test
//删除一个test分支
git branch -d test

7、代码全清,切分支

repo forall -c git clean -df;
repo forall -c git reset --hard HEAD^^^;
repo forall -c git co master;

8、gerrit里拉未通过审核的代码

已经通过审核的代码在右上角会出现绿色的merged,这种代码只能搬运最新的代码时才能合并,否则拉不下来的。

1、左上角CHANGES->OPEN(或快捷键go、已经合并的代码快捷键gm)

9、根据代码找到提交者查看改动

1、复制代码中的某一句(例如是:PROP_CAMERA_MIRROR_UI)

2、输入以下代码可以查看提交

Lango-tech 10:48:46 $git log -S "关键词" 文件路径

3、根据commitID查看改动

git show fca33289378fd9ff2a144c8aa5106b46bbb6982a
#只查看某个文件的改动
git show fca33289378fd9ff2a144c8aa5106b46bbb6982a toolchains/shell/cus_build.sh

10、修改当前的首个本地提交

1)重新add

2)修改commit

git commit --amend

3)再次push

11、根据标题名字过滤log

git log --grep SIM7600

12、http下载代码方式

password:AtG3T05hptHgmNQk6w2i3aGKCD0lwL/yrmwOIXmp1A

mkdir am905D3

下面这条命令不可以在主目录上敲否则会报错,要进入am905D3文件夹后再敲,如果报错要把主目录/.repo删掉

repo init -u "http的dns"

如果出现未授权error不用管直接下一步

repo sync

13、单独追回上个版本的文件

//以Launcher.java为例
git checkout apps/Launcher2/src/com/android/launcher2/Launcher.java

14、查看代码改动

//git show + commitId
git show head

15、代码冲突解决

1、先保留当前有冲突的提交的commitId

2、先退回几个状态再拉代码

git reset --hard HEAD^^^^^;git pull

3、cherry-pick第一步保留的commitId,继续拉取代码

git cherry-pick 8862f422f06e4e423eaa0a5aef39a903e1172c01

4、此时可以通过命令查询冲突出处

git status
git diff

5、解决完冲突后

git add + 冲突文件

16、切到其它分支,再切回来,重新跟踪一下

git br -D 分支名; git co master; git co 分支名

17、通过git cherry-pick来手动合patch

1、回退到某个时间段

repo forall -c 'commitID=`git log --before "2020-11-22 07:00" -1 --pretty=format:"%H"`; git reset --hard $commitID' 

2、拉补丁

git cherry-pick a7fa7d6f812adccbd51099810dda6a07ae8a5287

3、查看冲突

git diff ./

4、修改冲突完后保存一下

git add ./

5、continue拉取

git cherry-pick --continue

18、废掉某个提交

//git revert 板子ID
git revert 8c8b739f0e28d222a24c6d1abc5c875264ac0f8a

19、查看提交上交了哪些文件

//git log --name-only --grep +标题名字
git log --name-only --grep 工厂遥控器增加快捷键

20、解决middleware提交代码没有change-ID的问题

mkdir -p .git/hooks && curl -Lo `git rev-parse --git-dir`/hooks/commit-msg http://liziru@192.168.1.194:8089/tools/hooks/commit-msg; chmod +x `git rev-parse --git-dir`/hooks/commit-msg

21、创建一个本地分支并跟随

//git checkout -b 本地创建的分支(什么名字都可以) 选择的远程仓库分支
git checkout -b develop-gen-commonadv remotes/origin/develop-gen-commonadv

23、查看所有修改的文件路径

git log --name-only
    Change-Id: If0a5883a3cb7153ccfb62e96f53f4f9d28e5bcf2
device
        
commit c3fd39b1884d12c1a1e2320d56bc82ac744a20e2
Date:   Tue Mar 3 15:56:34 2020 +0800

    [BUG-1042762]更新海思补丁,问题单HSCP2020022762092,解决摄像头无法打开预览问题之后,h264格式uv反色的问题,涉及仓库device,source

    Change-Id: Iceeeee296b624120287338dd41fbf7a2ce3de45d

hisilicon/bigfish/frameworks/himediaplayer/hal/HiVSink.cpp

24、在某个路径下查询其它分支的此路径下的提交情况,可跨分支拉代码

git log +分支名
例子:git log develop-1.0.0 ./git log develop-811R-v4 .

25、查看某个提交下的文件提交情况

git show f6a39edc9deb1db4a9d4279b6489dc4fb5c4317b --stat
       549
       for (DeviceInfo di : mConnectedDevices.values()) {
            if(di.mDeviceType == AudioSystem.DEVICE_OUT_USB_DEVICE || di.mDeviceType == AudioSystem.DEVICE_OUT_USB_HEADSET){
                Log.d(TAG, "*******start102");
                usbConned = true;
            }
        }
        589
                    if(usbConned){
                setWiredDeviceConnectionState(AudioSystem.DEVICE_OUT_WIRED_HEADSET,
                AudioSystem.DEVICE_STATE_UNAVAILABLE, "", "",
                "android");
                setWiredDeviceConnectionState(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE,
                AudioSystem.DEVICE_STATE_UNAVAILABLE, "", "",
                "android");
            } else{
                setWiredDeviceConnectionState(AudioSystem.DEVICE_OUT_WIRED_HEADSET,
                AudioSystem.DEVICE_STATE_AVAILABLE, "", "",
                "android");
                setWiredDeviceConnectionState(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE,
                AudioSystem.DEVICE_STATE_AVAILABLE, "", "",
                "android");
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值