当前位置:   article > 正文

关于git分支操作的一些常用命令_git分支修改命令

git分支修改命令

查看分支:

git branch:查看本地分支
git branch -a:查看所有分支(包含本地分支和远程分支)
git branch -r:查看远程分支
  • 1
  • 2
  • 3

在远程创建新的分支( A )并将本地某个分支( B )的代码上传到A的操作:

方式一、
git checkout -b branchName:创建分支并切换到该分支
git push --set-upstream origin branchName:关联本地分支到远程仓库并push代码到远程branchName
方式二、
git push origin 本地分支名:远程分支名
  • 1
  • 2
  • 3
  • 4
  • 5

git push origin branchName/master --force:强制push代码到远程branchName/master。

删除远程分支的几种方式:

方式1、git push origin  :远程分支名
方式2、git pushorigin --delete 远程分支名
  • 1
  • 2

切换分支:

git checkout -b localbranch origin/originbranch:localbranch——当前分支,originbranch:目标分支
  • 1

Androidstudio命令打包:

graldew assembleWandoujiaRelease:构建渠道为豌豆荚的正式包
gradlew assembleWandoujiaDebug:构建渠道为豌豆荚的调试开发包

graldew assembleRelease:构建正式包
gradlew assembleDebug:构建调试开发包
  • 1
  • 2
  • 3
  • 4
  • 5

创建新分支:

git branch branchName
  • 1

切换到新分支:

git checkout branchName
  • 1

创建和切换这两条命令可以合成一条命令:

git checkout -b branchName——创建并切换到branchName分支
  • 1

命令:git reset
仅用HEAD指向的目录树重置暂存区,工作区不会受到影响,相当于将之前用git add命令更新到暂存区的内容撤出暂存区。引用也未改变,因为引用重置到HEAD相当于没有重置。

命令:git reset HEAD:同上

命令:git reset – filename
仅将文件filename 的改动撤出暂存区,暂存区中其它文件不改变。相当于对命令git add filename 的反操作。

命令:git reset HEAD filename:同上

命令:git reset --soft HEAD^
工作区和暂存区不改变,但是引用向前回退一次。当对最新提交的提交说明或提交的更改不满意时,撤销最新的提交以便重新提交。

命令:git reset HEAD^:工作区不改变,但是暂存区会回退到上一次提交之前,引用也会回退一次。

命令:git reset --mixed HEAD^:同上

命令:git reset --hard HEAD^
彻底撤销最近的提交。引用回退到前一次,而且工作区和暂存区都会回退到上一次提交的状态。自行一次以来的提交全部丢失。

有时候存在这种情况:你的同事在A分支上面开发功能,你也打算切换到A分支,但是无论是在AndroidStudio的右下角Git:窗口还是通过git命令:git branch -a都获取不到关于A分支的信息。这是因为你的工程没有更新信息。这时候我们在git Bash Here里面运行命令:

git  fetch
  • 1

就可以刷新分支信息,在输出日志里面你就可以查看到git仓库上目前所有的分支信息。然后你也可以再次运行git branch -a获取到新的分支信息。

merge into current:
——把选中的分支的代码更新合并到当前分支。比如开发者在A分支写代码,开发过程中B分支有了更新,这时候使用merge into current就可以把B分支的更新合并到A分支(当前分支 )
  • 1
  • 2

用下面的命令也可以得到同样的效果:

git checkout A       //选择or切换到A分支
git merge B          //将B分支合并到当前分支(A)中
  • 1
  • 2

暂存命令

暂存命令可以将git工作区的代码更改暂存,之后就可以执行git pull、git merge之类的命令。

暂存命令

git stash save "暂存的备注信息"
  • 1

直接执行git stash也可以达到暂存的目的,但是连续多次暂存后容易让人混淆哪次暂存了哪些代码

查看暂存记录

git stash list
  • 1

取回暂存代码

git stash pop
  • 1

取消暂存代码

git reset --hard
  • 1

分支(branch)的基本操作:

git branch //查看本地所有分支 
git branch -r //查看远程所有分支
git branch -a //查看本地和远程的所有分支
git branch <branchname> //新建分支
git branch -d <branchname> //删除本地分支
git branch -d -r <branchname> //删除远程分支,删除后还需推送到服务器
git push origin:<branchname>  //删除后推送至服务器
git branch -m <oldbranch> <newbranch> //重命名本地分支
/**
*重命名远程分支:
*1、删除远程待修改分支
*2、push本地新分支到远程服务器
*/
//git中一些选项解释:
-d:delete:删除
-D:delete --force的快捷键
-f:force:强制
-m:move:移动或重命名
-M:move --force的快捷键
-r:remote:远程
-a:all:所有
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在git Bash here和打包机里面,打开某个目录下的文件并浏览其中信息的方式:
路径切换:cd 要打开的文件所在的路径
打开文件:cat -n 要打开的文件的名字.后缀名
比如:

cd src/main/biz/android/channel/
cat -n channel.py

cd D:\StudioSpace\FirstDemo\app\src\main\java\com\example\firstdemo
cat -n MainActivity.java
  • 1
  • 2
  • 3
  • 4
  • 5

git push origin XXX命令push代码时,如果报 unpacker error 远程解包失败的异常,可以加参数 --no-thin,就像下面这样:

git push --no-thin  origin XXX
  • 1

车机时间校验:
adb root
adb shell stop HHTHHServer
adb shell “date date +%m%d%H%M%Y.%S

adb操作车机过程中,有两个命令很重要:

adb root
 
adb remount
  • 1
  • 2
  • 3

打开黑夜模式

adb shell cmd uimode night yes
  • 1

打开白天模式

adb shell cmd uimode night no
  • 1

查看logcat缓冲区大小

adb shell logcat -g
  • 1

修改logcat缓冲区大小 为16M/128M

adb shell logcat -G  16M

adb shell logcat -G  128M
  • 1
  • 2
  • 3

重启设备

adb reboot
  • 1

该命令通常是重启与电脑通过USB连接的设备
而下面的命令,则是直接重启电脑:

reboot
  • 1

ubuntu系统杀进程:

adb shell kill 进程号/包名
或者:

adb shell am force-stop 进程号/包名
  • 1
  • 2
  • 3
  • 4

进入Android设备,删除/操作 指定路径的文件:

adb root
adb shell
然后一路 cd切换路径,到要删除的文件(文件夹)的地方,然后运行:
rm -rf 要删除的文件名。
然后执行exit,退出 adb shell,然后执行adb reboot重启设备。
  • 1
  • 2
  • 3
  • 4
  • 5

Linux系统抓取日志:

adb logcat> /home/jiechen/下载/log.txt
  • 1

crash的关键词信息(包含,但不限于):

Process: 包名(如 com.xxx.xxx), PID: 18289
Killing 26795:com.xxx.xxx:xxxProcess/1000 (adj 100): depends on provider com.xxx.xxx/com.tencent.qqmusic.openapisdk.core.provider.MainProcessEdgeProvider in dying proc com.xxx.xxx (adj -10000)

Successfully killed process cgroup uid 1000 pid 28219 in 0ms
  • 1
  • 2
  • 3
  • 4

OOME:OutOfMemoryException,内存溢出。
system_app_anr@xxxxxxxxxxxxxxxx:ANR的信息就在这个文件中。
// 下面的这两个时间点,表示ANR就发生在这两个时间之间。

CPU usage from 853ms to -11499ms ago (2023-11-15 22:38:23.247 to 2023-11-15 22:38:35.599)
CPU usage from 0ms to 6309ms later (2023-12-29 18:06:13.634 to 2023-12-29 18:06:19.943)
waiting to lock
https://zhuanlan.zhihu.com/p/378902923
  - waiting to lock <0x085a08a1> (a java.lang.Class<hhts.app.carcontrol.manager.IEMManager>) held by thread 60
"RxCachedThreadScheduler-291" daemon prio=5 tid=67 Blocked // tid为67的线程被Blocked阻塞;tid就是线程号。
"RxCachedThreadScheduler-286" daemon prio=5 tid=60 Native  // tid线程号为60的线程在Native层 出问题。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/610616
推荐阅读
相关标签
  

闽ICP备14008679号