0.github ssh-key无效问题
执行 ssh -T git@github.com 有问题的话
~/.ssh/config
// 增加内容
Host github.com
User 980916277@qq.com(GitHub的账号名称)
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
1.在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
2.规则很简单,不做过多解释,但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
3.git批量删除本地分支
//查询
git br |grep 'branchxxx'
//删除
git br |grep 'branchxxx' |xargs git br -d
4.git stash用于保存和恢复工作进度
git stash
//保存当前的工作进度。会分别对暂存区和工作区的状态进行保存
git stash save "message..."
//这条命令实际上是第一条 git stash 命令的完整版
git stash list
//显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候进行选择
git stash pop [--index] [<stash>]
//如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除。
//如果提供参数(来自 git stash list 显示的列表),则从该 <stash> 中恢复。恢复完毕也将从进度列表中删除 <stash>。
//选项--index 除了恢复工作区的文件外,还尝试恢复暂存区。
git stash apply [--index] [<stash>]
//除了不删除恢复的进度之外,其余和 git stash pop 命令一样
git stash clear
//删除所有存储的进度
5.杀死app进程
# 找到该APP的进程ID
adb shell ps
# 找到你APP的报名
# Mac/Unix: save some time by using grep:
adb shell ps | grep your.app.package
# 按照上述命令操作后,看起来是这样子的:
# USER PID PPID VSIZE RSS WCHAN PC NAME
# u0_a198 21997 160 827940 22064 ffffffff 00000000 S your.app.package
# 通过PID将你的APP杀掉
adb shell kill -9 21997
# APP现在被杀掉啦
Without root
adb shell am force-stop <package name>
With root
I have also installed BusyBox to get more UNIX tools on my device
adb shell "su -c 'kill $(pidof <package name>)'"
or
adb shell "su -c 'kill <PID>'"
+1 nice answer, but adb shell "su -c kill 101" works for me (without '). Thanks :) – Tenaciousd93 Mar 26 '14 at 8:34
add a comment
6.git标签操作
//获取远程tag
git fetch origin tag <tagname>
//把本地tag推送到远程
git push --tags 或 git push origin 标签名
//重命名本地分支
git branch -m devel develop
//删除远程分支
git push --delete origin devel
7.git删除某次提交
运行 git rebase -i <commit_id> 命令,将 <commit_id> 替换为需要删除的 commit 的 ID。
在打开的交互式 rebase 编辑器中,将需要删除的 commit 行前面的 pick 改为 drop 或 d,然后保存并关闭编辑器。