Linux git使用方法杂记(持续更新...)

 GIT使用

1. git查找某个文件某次修改记录

(1). 首先切换到要查看的文件所在的目录:如:我想查看default_workspace.xml这个文件的某次修改情况,该文件位于~/android/android4.2/dev/Trunk/Android/Android4.2/kernel/drivers/video/rockchip/vga$这个目录中。

cd ~/android/backup/jw42temp/dev/Trunk/Android/Android4.2/device/rockchip/rk30sdk/overlay/packages/apps/Launcher2/res/xml-sw720dp$

(2). git log --pretty=oneline 文件名   显示出这个文件的所有提示记录,--pretty=oneline表示提交信息以一行的形式显示。


(3). git show 哈希值。如我想查看 提示信息为“Launcher修改:1.屏幕页数改为3屏 2.默认第二屏为主页 3.添加桌面常用图标 4.Hotseat修改”的修改情况。

git show dae876432cfbc27765df3bbf947769bb2a79d9ba



2. linux目录中递归删除同名文件夹

    比如,原来使用SVN管理的工程,现在迁移到GIT上面来,原来每个目录下都有.svn文件夹,现在已经不需要了,需要删除,进入源码目录,使用以下命令递归删除.svn文件夹。

find . -name '.svn' -type d | xargs rm -rf

3. 更改服务端GIT地址

git remote set-url origin 服务端git地址

4. push本地新的分支到远程

本地上创建了一个新的分支,如:lzr-branch, 想要push到远程服务器上,但是,怕影响原来的代码,所以远程上同步一个新的分支 

git push original lzr-branch

5. GIT 批量删除文件

git status ./ |awk '{if($2=="deleted:"){print $3}}'|xargs git rm

6. GIT 空白提交

git commit --allow-empty -m "Empty"

7. git status 只显示修改过的文件(状态为modified)

git st | awk '{if ( $2 == "modified:") { print $3}}' 

8. 通常,合并分支时,Git会用Fast forward模式,这种模式下,删除分支后,会丢掉分支信息。如果使用--no-ff 强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。


$ git merge --no-ff -m "merge with no-ff" dev


9. git stash 与 git stash pop的使用

当手头工作没有完成时,先把工作现场git stash一下,然后去创建临时分支修复bug,修复后合并分支并回到原分支上,再git stash pop,回到工作现场。

参考: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137602359178794d966923e5c4134bc8bf98dfb03aea3000


10. 从本地推送分支

git push origin branch-name

如果推送失败,先用git pull抓取远程的新提交


11. 在本地创建和远程分支对应的分支

git checkout -b branch-name origin/branch-name 本地和远程分支的名称最好一致

12. 建立本地分支和远程分支的关联

git branch --set-upstream branch-name origin/branch-name

13. 创建带有说明的标签,用-a指定标签名,-m指定说明文字

$ git tag -a v0.1 -m "version 0.1 released" commit_id

14. 参看文件每行的修改记录

git blame  framework/base/services/core/java/com/android/server/am/ActivityManagerService.java | grep "xxxx"

15. 参看文件历史修改记录
gitk  framework//services/core/java/com/android/server/am/ActivityManagerService.java

16. 查看某次提交修改的文件列表

git log [commit id] --raw

17.  查看log时显示每次提交的内容差异

git log -p

18. 添加远程仓库

git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写:

$ git remote
origin
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)
pb	https://github.com/paulboone/ticgit (fetch)
pb	https://github.com/paulboone/ticgit (push)

19. 推送标签

(1) 推送单个标签

git push origin [tagname]

(2) 推送多个标签

git push origin tags




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值