![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
git 实践
tiantao2012
这个作者很懒,什么都没留下…
展开
-
按邮箱过滤 git log
[root@localhost src]# git log --oneline --author=linaro.comd02dc27db0dc ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()af8f3f514d19 ACPI / processor: Convert apic_id to phys_id to make it arch agnosticdc1956b5f84d Thermal: Add ST-E.原创 2020-09-10 10:54:09 · 702 阅读 · 0 评论 -
按提交日期显示patch
原创 2020-09-07 10:45:01 · 318 阅读 · 0 评论 -
git format 合并多个patch
假如要合并下面四个patchb8e069a2a8da ACPI/IORT: Add an input ID to acpi_dma_configure()3a3d208beede ACPI/IORT: Remove useless PCI bus walk39c3cf566cea ACPI/IORT: Make iort_msi_map_rid() PCI agnosticd1718a1b7a86 ACPI/IORT: Make iort_get_device_domain IRQ domain原创 2020-08-13 14:38:09 · 2946 阅读 · 0 评论 -
使用镜像clone
Github国内镜像网站有github.com.cnpmjs.org和git.sdut.me/。在clone某个项目的时候将github.com替换为github.com.cnpmjs.org或者 git.sdut.me/即可这个是我要clone的git clone https://github.com/golang/go.git则换成git clone https://git.sdut.me/golang/go.git实测速度很快[root@ tiantao]# git clone htt..原创 2020-08-03 19:42:49 · 782 阅读 · 1 评论 -
按邮箱过滤 git log
ccc@EstBuildSvr1:~/kernel/kernel$ git log --pretty=format:"%h - %ae : %s" | grep google.com13cf04880235 - andreyknvl@google.com : kasan: add missing functions declarations to kasan.h8a16c09edc58 - andreyknvl@google.com : kasan: consistently disable debug原创 2020-05-31 15:23:06 · 1294 阅读 · 0 评论 -
git name-rev 显示patch合入的tag
xxxx@EstBuildSvr1:~/kernel/kernel$ git name-rev 2b6207291b7b277a5df9d1aab44b56815a292dba2b6207291b7b277a5df9d1aab44b56815a292dba tags/drm-misc-fixes-2018-05-16^0原创 2020-05-13 08:52:54 · 943 阅读 · 0 评论 -
指定git commit id的长度
通过abbrev来指定gitcommitid的长度,举例如下:原创 2020-04-11 17:55:13 · 2784 阅读 · 0 评论 -
git 合并多个commit
加入现在要合并b943f045a9af 和 8380ce479010 这两个committiantao@EstBuildSvr1:~/kernel/rebasekernel/kernel$ git log --onelineb943f045a9af (HEAD) mm/sparse: fix kernel crash with pfn_section_valid check8380ce4...原创 2020-04-11 10:00:01 · 981 阅读 · 0 评论 -
cherry-pick 多个commit
目前是把下面这19个comit id到另外的分支输入命令如下:完成后可以看到我自己的签名原创 2017-11-15 15:41:14 · 6063 阅读 · 0 评论 -
git stash
git stash 用于缓存暂时不能commit的改动。通过git stash list 可以查看已经缓存的改动通过git stash apply stash@{1} 可以将缓存的改动回复通过git stash drop stash@{0} 可以删除缓存在本地的改动原创 2017-11-22 16:40:18 · 398 阅读 · 0 评论 -
从别的机器clone git
git clone tiantao@192.168.1.106:~/kernel/rebasekernel/debian使用这条命令clone code的速度,比压缩后在解压要快的多。因为linux 目录下文件很多。所以压缩和解压的速度很慢原创 2017-12-13 14:14:22 · 830 阅读 · 0 评论 -
git log 中根据author 过滤
原创 2018-01-18 14:08:07 · 7066 阅读 · 0 评论 -
git 删除远程tag
先切换到其他分支,然后就可以用下面的命令删除远程tag原创 2018-08-29 09:59:13 · 4775 阅读 · 0 评论 -
git am -3 可以显示git am 冲突的地方
原创 2018-11-27 19:51:37 · 1223 阅读 · 0 评论 -
git log --pretty=online 可以显示完整的commit id
原创 2018-12-05 19:25:54 · 14711 阅读 · 0 评论 -
Gitp clone时 SSL certificate problem
fatal:unable to access ': SSL certicate problem: unable to get local issuer certificate这个错误可以通过下面的命令修复git config --global http.sslVerify false原创 2019-01-19 16:08:18 · 275 阅读 · 0 评论 -
git log --after 查看某个时间后更新的patch
我这边看到--after和since 的效果是一样tian@EstBuildSvr1:~/kernel/rebasekernel/kernel$ git log --oneline --after="2019-02-20" -- arch/arm649053d2db8b04 Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/l...原创 2019-03-06 17:11:27 · 3258 阅读 · 0 评论 -
基于tag建立分支并推送远端
tiantao@EstBuildSvr1:~/kernel/rebasekernel/byte/linux$ git remote add tao https://github.com/tia/kernel.gittiantao@EstBuildSvr1:~/kernel/rebasekernel/byte/linux$ git fetch taotiantao@EstBuildSvr1:~/...原创 2019-05-05 16:23:27 · 1160 阅读 · 0 评论 -
warning: inexact rename detection was skipped due to too many files
tiantao@EstBuildSvr1:~/kernel/rebasekernel/byte/linux$ git cherry-pick 148e379f60c5warning: inexact rename detection was skipped due to too many files.warning: you may want to set your merge.renamel...原创 2019-05-06 09:27:28 · 3662 阅读 · 0 评论 -
将本地的改动推送到远端
1:使用git add增加修改的文件 git add drivers/iommu/dma-iommu.c2:使用git commit 提交到本地仓库 -m表示添加备注 git commit -m "fixed smmu timeout issue"这步之后就可在本地用git log看提交的改动3:使用git push 来推送到远端, git push sm原创 2017-04-05 19:34:14 · 817 阅读 · 0 评论 -
git warning: refname 'HEAD' is ambiguous
git statusgit warning: refname 'HEAD' is ambiguous需要这种情况直接删除HEAD 即可原创 2017-11-15 15:13:24 · 4690 阅读 · 0 评论 -
cherry-pick 主线commit 并修改commit log
首先通过git cherry-pick db46a72b9713fd -s 来merge你要和的commit并添加你自己的签名然后通过git rebase -i 872b1c066c(db46a72b9713fd的前一个commit id)然后将pick改成r就可以修改了然后将pick改成r就可以修改了最后修改成功原创 2017-11-15 15:11:54 · 1947 阅读 · 0 评论 -
git checkout v4.12
在将主线code全部抓下来后,可以通过git checkout v4.12 等命令方便在主线tag之间切换原创 2017-09-06 17:14:10 · 580 阅读 · 0 评论 -
git branch -m/M 重名分支,-D 删除branch
使用git branch -m命令可以对已经存在的branch重名了,m/M的区别如下例如下例中就将tmp2 重名为hello原创 2017-04-20 10:24:29 · 22227 阅读 · 0 评论 -
giit 通过rebase命令来revert patch
假如我要revert c9d30e3~a105ac2 之间的11个patch首先通过git rebase -i 03a43f3。后就可以看到下面这个界面,注释掉c9d30e3~a105ac2 之间的11个patch即可如果没有patch的话,就可以看到下面的log,则提示revert成功原创 2017-04-20 09:59:45 · 1150 阅读 · 0 评论 -
打patch
将.patch文件copy到kernel的根目录下面,就可以通过patch -p0原创 2017-04-06 09:27:43 · 1068 阅读 · 0 评论 -
git 创建一个新branch,push到远端后,通过网页可以看到新建的branch
通过git checkout -b firstbranch smmu/master。可以基于smmu/master 建立一个新的branch,然后通过git push smmu HEAD:firstbranch 就可以将这个branch 推到远端,这样就可以通过网页看到新建的分支原创 2017-04-19 14:23:13 · 2610 阅读 · 1 评论 -
git tag
可以通过git tag查询所有的tag,通过git checkout XX 可以切换到这个tag,且不用在本地建立branch原创 2017-04-14 11:45:08 · 472 阅读 · 0 评论 -
git branch -d 删除一个branch
可以通过git checkout -b dtb21 v2.1-rc0 起到v2.1-rc0 这个tag,所有的tag可以通过git tag查询可以通过git branch -D estuary4.4 删除estuary4.4 这个branch,然后通过git checkout estuary 切换到estuary这个branch原创 2017-04-11 11:59:45 · 1920 阅读 · 0 评论 -
添加远程仓库,并建立本地branch
第一步:添加远程仓库git remote add estuary git@github.com:open-estuary/kernel.git第二步:将远程仓库的code抓到本地git fetch estuary git checkout estuary第三步:建立本地branchgit checkout -b kernel4.9 estuary/master原创 2017-03-07 15:09:45 · 724 阅读 · 0 评论 -
修改已经push的commit,但是不增加commit history
如果线修改应经push到仓库的code,可以参考下面的命令 2010 git add grub-core/loader/arm64/linux.c 2011 git commit -m "fix" 2012 git log --oneline 2013 git log -p 2014 git log --oneline 2015 git rebase -i原创 2017-02-21 10:14:40 · 2079 阅读 · 0 评论 -
git revert 和git rebase的区别
假如我想revert 掉01a948f 这个改动,有两种方法1:通过git revert 01a948f,成功后可以通过git log --oneline 看到两条commit记录,但是内容其实已经被revert掉了,这个缺点是能看到两条提交记录703f7ae01a948f2:通过git rebase -i 247968f,因为我要revert掉703f7a原创 2017-05-03 09:01:06 · 1453 阅读 · 0 评论 -
通过git describe --tags 查询当前branch是从那个tag建立的
通过git describe --tags 查询当前branch是从那个tag建立的,通过tag建立branch的时候不用加远程仓库的名字原创 2017-05-05 15:58:56 · 6894 阅读 · 0 评论 -
git diff 两个分支的差别,并生成patch
可以用git diff hns4.9 hnslatest drivers/net/ethernet/hisilicon/hns > hns.patch 比较hnslatest和hns4.9 这两个分支drivers/net/ethernet/hisilicon/hns 这个目录的差别,并生成hns.patch原创 2017-04-24 14:53:13 · 7183 阅读 · 0 评论 -
git diff 将当前改动的文件作为patch
原创 2017-09-06 15:41:55 · 1535 阅读 · 0 评论 -
cherry-pick
将mailline 更新到最新(至少包含你要的commit id),然后直接切换到你的br 然后直接cherry-pick 主线的commit id 到自己的br,注意这个时候其实是在自己的br原创 2017-08-14 14:24:50 · 576 阅读 · 0 评论 -
git blame 可以查看文件中的某一行内容是在哪个commit id号添加的
git blame 可以查看文件中的某一行内容是在哪个commit id号找添加的原创 2017-06-14 17:08:15 · 2473 阅读 · 0 评论 -
github 上新建仓库
1:首先在github上新建目录2:然后提交改动原创 2017-07-11 10:15:27 · 467 阅读 · 0 评论 -
git describe 881c585
git describe 881c585 这个命令可以让我们知道这个881c585 号是在哪一版kernel修改的,例如本例就是在4.2是修改的原创 2017-06-02 11:48:17 · 548 阅读 · 0 评论 -
git log --oneline --graph
通过git log --oneline --graph -- ipmi 可以以图形的方式查看ipmi 这个目录的commits,特别针对merge类,例如291b38a 就包含下面的6个commits 。原创 2017-06-02 11:43:28 · 6212 阅读 · 0 评论