常用命令:git等

最新的如下:

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

之前的Tokens过期了,2023年2月6日重新申请的。

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

AndroidStudio/Pycharm关联远程仓库

1.安装git

2.关联github账户

3.两种方法:

3.1直接在AS端创建仓库同步到github

3.2先在github上创建仓库再关联

下面的已经过期:

github账户里用到的token是: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


linux 通配符(wildcard)_bdss58的博客-CSDN博客_linux wildcard

Git整理(二):工作区和暂存区的介绍_zhouym_的博客-CSDN博客

【Git】rebase 用法小结 - 简书

du -h --max-depth=1 | sort -hr

Ubuntu下使用VPN

sudo openvpn ~/code/xuguodong0303.ovpn

sshfs philip@192.168.12.128:/home/philip/source/dev_sda1/projA_asu/android/vendor/asu/apps/CameraApp ~/code/share

sshfs philip@192.168.12.128:/home/philip/source/dev_sda1/projA_asu/android/vendor/asu/apps/CameraApp ~/code/share
 

遇到下面截图,可以使用命令: git push origin HEAD:refs/for/asu_pro_dev --no-thin

sshfs seedland-ar@192.168.1.106:/home/seedland-ar/share ~/share_server

$ cat ~/.gitconfig
[user]
    email = xuguodong0303@a-su.com.cn
    name = xuguodong0303
[color]
    ui = auto
[http]
    sslVerify = false
    postBuffer = 1048576000
[i18n]
    commitencoding = utf-8
    logoutputencoding = utf-8
[core]
    editor=vim
 

提取patch

git format-patch -1 SHA值 //此SHA值的提交patch

APro项目提交

$ git remote -v
origin    ssh://xuguodong0303@192.168.12.228:29418/android/android (fetch)
origin    ssh://xuguodong0303@192.168.12.228:29418/android/android (push)
$ git branch -a
* (no branch)
  remotes/m/cvte_pro_dev -> origin/cvte_pro_dev
  remotes/origin/aml_dev
  remotes/origin/asu_dev
  remotes/origin/asu_pro_dev
  remotes/origin/cvte_dev
  remotes/origin/cvte_pro_dev
$ git push origin HEAD:refs/for/cvte_pro_dev

更新到github报错

$ git push -u origin main
Username for 'https://github.com': philip20200426
Password for 'https://philip20200426@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/philip20200426/vim-dev.git/'

解决方法如下:

apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

上面的i思路是关闭ssl,网上还有另外一个方法,但是没有进行验证:

解决git提示 GnuTLS recv error (-110): The TLS connection was non-properly terminated 问题 - 澜曦 - 博客园

 git config --global http.sslVerify "false"

git config --global --unset http.proxy

git config --global http.proxy

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
 git rm -r --cached .
 git add .
 git commit -m 'update .gitignore'
 

git remote

xxx

git fetch xxx

git checkout -b remote

当发现本地分支不全时,可以运行git fetch --all命令,获取所有远程分支。

删除暂存区里的文件:git remove

git log --pretty=online 文件名 //这个命令可以查看到所有修改过这个文件的提交

当前没有在分支状态下,先提交了代码,接着又checkout到其他分支,发现之前的提交没有了,可以通过git cherry-pick commId找回来。

修改历史提交记录的commit:

Git 如何修改之前 commit 的信息 - 简书

git修改历史提交(commit)信息_git修改commit提交信息_florachy的博客-CSDN博客

合并多个git提交:

git 多个commit 如何合并 - 知乎

git rebase高级功能:

1. git rebase合并多个本地提交。

合并多个分支可以用 git rebase命令。

2. 修改之前的n个提交

git rebase  -i commitId

选择edit

git commit --amend

最后git push 

当前在no branch状态下,是不影响git push的。

很多文件提交时,可以考虑先用命令:git clean。

git clean

# 删除 untracked files

git clean -f

# 连 untracked 的目录也一起删掉

git clean -fd

# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)

git clean -xfd

合入其他分支的提交:

git checkout -b 新建分支名 远程分支(remotes/quic/LE.UM.5.4.1.r1)

注意:远程分支不要用tag。

切换到新分支后发现本地的一个提交还没有提交到远程,但是找不到了,可以使用下面命令:

git merge 上一个分支名,也可以用git cherry-pick commId。

解决cherry-pick冲突:

先git stauts能看到冲突的文件,git diff能看到冲突的内容:

<<<<<<< HEAD

本地代码

=======

拉下来的代码

修改冲突后,git add,最后git cherry-pick --continue

解决git apply冲突:

git format-patch -s commitId 生成patch

git apply只会看到文件,它把patch里的一个个diff段拆出来, 然后合入相应的文件里,
而且git apply只会合入当前目录下的diff段,所以上面的命令要到所有diff段的最大的
一个目录里去执行(注意运行git apply的目录位置),一般为了方便就在代码的根目录里执行。git apply后相当于修改了原文件,所以要git add,git commit下。

–reject的这个参数会把有冲突的段保存在一个
.rej的文件里。


git am camx.git-7a20647c9b8d0097901247e48bcb05f997cb86f8.patch
git am --abort
有冲突的时候运行:

git am camx.git-7a20647c9b8d0097901247e48bcb05f997cb86f8.patch --reject

在.rej文件里找见冲突的diff段,手动修改对应的代码

修改冲突
git add
git am --continue        //git am –resovled

注意最后一个操作, 我们现在已经把git am的冲突解决,用git am –resovled可以继续git
am的操作把commit log也自动的打上!

修改git commit提交时间和作者:

如果我们只是想将上次 git commit 的时间 改为当前时间,可以使用以下两个命令:

git commit --amend --date="$(date -R)"  或
git commit --amend --date=`date -R`

对于如何修改任意 git commit 的时间,也简单,按照date -R命令的输出格式自己构造commit_time即可。

git commit --amend --date="Sun, 25 Dec 2016 19:42:09 +0800"

先通过vim ~/.gitconfig修改邮箱,再使用amend命令修改commit author的信息:

$ git commit --amend --reset-author

在debug的时候,为了查找是谁改得某个文件或者某一行,这时就用到git blame这个命令了,用法最常用的就是

git blame <filename>
git blame -L start,end <filename>


例如:

git blame database.py
git blame -L 10,20 database.py //表示查看10-20行的修改历史
git blame -L 10,+20 database.py //表示查看10再加二十行的修改历史
 

Git命令:

git push origin HEAD:refs/for/SDM845_P_DEV
git push origin HEAD:refs/for/DEVELOP/SDM845_Q/Mainline   //正常提交的命令

repo init -u ssh://pgerrit.oneplus.cn:29418/QCOM/manifest/sm8250 -m SM8250_AP_DEV_EXTERNAL.xml

repo start MP_20180820 --all    //基于manifest.xml创建分支
git branch -vv
$ cat .git/config后看下面参数:
[branch "local-0113"]
remote = korg
merge = XXXXroid4.0.3_vlx_3.0 /看,这里跟的是这个/  //https://blog.csdn.net/yasin_lee/article/details/8551010
vim ~/xuguodong/845P_MP/.repo/manifest.xml


DEV和MP分支对比方式
git log remotes/origin/SDM845_P_DEV ^remotes/origin/RELEASE/SDM845_P/Fajita/MP_20180820 > dev_only.log
git log remotes/origin/RELEASE/SDM845_P/Fajita/MP_20180820 ^remotes/origin/SDM845_P_DEV > mp_only.log
git log remotes/origin/SDM845_P_DEV..remotes/origin/RELEASE/SDM845_P/Fajita/MP_20180820 > mp_more.log
git log remotes/origin/RELEASE/SDM845_P/Fajita/MP_20180820..remotes/origin/SDM845_P_DEV > dev_more.log
git log --left-right remotes/origin/SDM845_P_DEV...remotes/origin/RELEASE/SDM845_P/Fajita/MP_20180820 > dev_diff_mp.log

常用命令:

find ./ -name "*.xsd"|xargs grep -nrsiE "ltm_enable" --color=auto

adb install -r -g -t OPMainCamera-debug.apk
adb shell wm size

prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -e ./out/target/product/instantnoodlep/symbols/vendor/lib64/hw/com.qti.chi.override.so 0000000000100e50

mmma -j32 vendor/qcom/proprietary/camx | tee tmp_build.log | grep -nsiE "install:| error: |successfully"

adb logcat -c && adb logcat -G 256M && adb logcat -v threadtime -b main -b crash -b kernel | tee tmp.log| grep -nsiE ""

adb shell dumpsys meminfo pid

adb wait-for-device root
adb remount
adb shell logcat -c
adb shell logcat -G 256M
adb shell logcat –v threadtime -b main -b kernel -b crash > log.txt

解压tar命令:

解压xxx.tar.gz到指定位置:

tar -zxvf xxx.tar.gz -C  +  解压到指定的文件位置

解压xxx.tar.gz到当前位置:

tar -zxvf xxx.tar.gz 

解压xxx.tar到指定位置:

tar -xvf xxx.tar -C  + 解压到指定的文件位置

解压xxx.tar到当前位置:

tar -xvf xxx.tar

解压xxx.tar.bz2:

tar -xjvf xxx.tar.bz2

解压tar.Z:

tar -xZvf xxx.file.tar.Z

压缩tar命令:

将目录里所有jpg文件打包成jpg.tar:

tar -cvf  jpg.tar  *.jpg

将目录里所有jpg文件打包成jpg.tar后,   并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -czf  jpg.tar.gz  *.jpg  

zip压缩:

将指定目录/tmp压缩成test.zip文件

zip -r test.zip tmb/

从压缩文件 test.zip 中删除文件 file1

zip -dv test.zip file1

将 /home/soft/ 这个目录下所有文件和文件夹打包为当前目录下的 soft.zip:

zip -q -r soft.zip /home/soft

uzip解压缩:

解压text.zip到当前目录下:

unzip test.zip

将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件:

unzip -o test.zip -d tmp/

rar解压缩

sudo unrar x name.rar

sudo unrar e name.rar

其中x参数是解压到一个文件夹,e参数是把里面的文件都解压到当前路径下。

minicom调试

AMLogic的HDIM接HDMI转USB小板,可以把调试串口引出来。

sudo minicom -D /dev/ttyUSB1

依次按 CTRL-A Z 打开提示界面,再按 O 进入设置界面,选择 “Serial port setup”,出现以下设置项:

按住Ctrl的同时按a(小写不需要按shift),两个键同时松开,再按z,进入设置界面。


按 F 将该项设为 No,保存设置,关闭提示界面,此时就可以输入啦。

sudo minicom -C minicom-log/log   //保存到指定文件

CTRL-A Z  //help

CTRL-A Q  //退出

sudo minicom -D /dev/ttyUSB1 -C ~/debug/log/minicom-log/log

常用其他命令:

scrcpy --max-size 720 -b 512

adb shell dumpsys sensorservice

回到主页

adb shell input keyevent HOME                        //3

adb shell input keyevent DPAD_UP

adb shell input keyevent DPAD_DOWN

adb shell input keyevent DPAD_LEFT

adb shell input keyevent DPAD_RIGHT

adb shell input keyevent DPAD_CENTER        /66      

adb shell  input keyevent 4                                 //BACK

adb shell input keyevent VOLUME_UP                //23

adb shell input keyevent VOLUME_DOWN        //24

adb shell input keyevent MENU

adb shell "echo > 0 sys/devices/platform/asukey/matmode" //1:Fractory 0:Normal

sshfs seedland-ar@192.168.1.103:/home/seedland-ar/share ~/share_server

fusermount -u 

不同用命令:

setenv m2d_ota 1
saveenv
reset

Vim

vim -o test1.c test2.c  水平平分

vim -O test1.c test2.c  垂直平分

Android Studio

  • ⌘/: 注释与取消注释,注释效果//…| 对应window中的Ctrl + /

  • ⌥⌘/: 注释与取消注释,注释效果//| 对应window中的Ctrl+Shift+/

  • ⌥⌘L: 代码格式化 <使用率非常高> | 对应window中的Ctrl+Alt+L

https://www.csdn.net/tags/OtTaIg3sNzM3MS1ibG9n.html

Ubuntu安装Terminalx,及常用命令_Gene_2022的博客-CSDN博客_ubuntu安装terminal

github:

apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

git push -u origin_yishu main

git remote set-url origin_yishu https://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@github.com/philip20200426/AutoProjector-ubuntu-base-cvte.git

项目仓库命令

APro2代码更新命令:

$ git push origin HEAD:refs/for/a2_dev

$ git branch -a
* a2_dev
  remotes/m/a2_dev -> origin/a2_dev
  remotes/origin/a2_dev

$ git push origin HEAD:refs/for/a2_dev

$ git branch -a
* (HEAD detached from 67c0a633b)
  remotes/m/red3_dev -> origin/red3_dev
  remotes/origin/red3_dev

$ git push --no-thin origin HEAD:refs/for/red3_dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值