XiaomiRouter自学之路(06-Git提交时的优化(.gitignore、git commit))

题图:gratisography

XiaomiRouter自学之路(06-Git提交时的优化(.gitignore、git commit))

上一篇文章“U-boot配置编译烧录”中,已经编译测试好U-boot,现在将代码更新的部分进行整合提交到GitHub,

先使用git status查看下我们编译后的工程

linye@ubuntu:~/XiaomiRouter/U-boot$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .config
#       System.map
#       autoconf.h
#       board/rt2880/.depend
#       board/rt2880/librt2880.a
#       board/rt2880/memsetup.o
#       board/rt2880/rt2880.o
#       board/rt2880/rt2880_init.o
#       board/rt2880/serial.o
#       common/.depend
#       common/cmd_bdinfo.o
#       common/cmd_boot.o
#       common/cmd_bootm.o
#       common/cmd_console.o
#       common/cmd_fat.o
...

可以看到有很多的.o、.a等编译或中间文件,这些文件是编译产生的结果,我们不可能将其提交到代码库中,所以提交的时候需要将其排除,这时候就要用到.gitignore 配置文件

对于.gitignore配置文件的语法很简单,随便找个例子看下就懂,需要注意的是.gitignore配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效

linye@ubuntu:~/XiaomiRouter/U-boot$ vim .gitignore
*.o
*.a
*.depend
/.config
/.config.old
System.map
autoconf.h
/tools/mkimage
/u-boot
/u-boot.map
/u-boot.srec
/uboot.bin
/uboot.img
uboot_128k.bin

添加完以上信息后,我们再查看status,只有以下两个文件了

linye@ubuntu:~/XiaomiRouter/U-boot$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       httpd/fsdata.c

httpd/fsdata.c是新产生的一个文件先留着,这边把.config也不做上传,是因为一般.config是根据每个人各自的平台去选的配置,所以常用的做法就是将自己的.config做一个备份,别人clone你的仓库后,如果跟你的平台一样,那就在备份里面cp你的.config,不同的话则需要他自己再配置一遍,如下做法:

linye@ubuntu:~/XiaomiRouter/U-boot$ mkdir config
linye@ubuntu:~/XiaomiRouter/U-boot$ cp .config config/XiaomiRoutermini

现在我们的git status变成如下

linye@ubuntu:~/XiaomiRouter/U-boot$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       config/
#       httpd/fsdata.c
nothing added to commit but untracked files present (use "git add" to track)

接着就使用git addgit commitgit push等动作进行提交,但是我们上一次使用的是git commit -m来填写修改记录,发现很不直观,而且如果我想写多条的时候就更不方便了,所以我们使用vim来进行编辑记录信息,我们打开在./.git/config里面添加editor = vim即可,如下

linye@ubuntu:~/XiaomiRouter/U-boot$ vim ./.git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        editor = vim

接下去我们就可以使用git commit -s来提交记录信息,如下:

linye@ubuntu:~/XiaomiRouter/U-boot$ git commit -s

1.Add .gitignore
2.Add .config for XiaomiRoutermini
3.Add httpd/fsdata.c

Signed-off-by: ye.lin <creator_ly@163.com>

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   .gitignore
#       new file:   config/XiaomiRoutermini
#       new file:   httpd/fsdata.c
#

使用tiggit status查看下提交是否正确,正确则使用git push origin master到GitHub

linye@ubuntu:~/XiaomiRouter/U-boot$ git commit -s
[master 0c81c2f] 1.Add .gitignore 2.Add .config for XiaomiRoutermini 3.Add httpd/fsdata.c
 3 files changed, 504 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 config/XiaomiRoutermini
 create mode 100644 httpd/fsdata.c
linye@ubuntu:~/XiaomiRouter/U-boot$ tig
linye@ubuntu:~/XiaomiRouter/U-boot$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
linye@ubuntu:~/XiaomiRouter/U-boot$ git push origin master
Username for 'https://github.com': creator_ly@163.com
Password for 'https://creator_ly@163.com@github.com':
To https://github.com/XiaomiRouter/U-boot.git
   8fe85af..0c81c2f  master -> master

登陆GitHub查看commit是否有上传即可。

Git提交时的优化的分析就到这边,有感悟时会持续会更新。

注:以上内容都是本人在学习过程积累的一些心得,难免会有参考到其他文章的一些知识,如有侵权,请及时通知我,我将及时删除或标注内容出处,如有错误之处也请指出,进行探讨学习。文章只是起一个引导作用,详细的数据解析内容还请查看XiaomiRouter相关教程,感谢您的查阅。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,495评论 18 139
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,937评论 3 27
  • 第十三章编写阴谋2 欢颜和雅红回到家门口,开锁开门。 “都下午五点了,怎么还没回来?” 雅红又愣了愣后,又马上莫名...
    怪女孩阅读 428评论 0 0
  • 窗外淅淅沥沥的雨 饱食后的胃翻滚着 好似抗议不该拿速度敷衍它 可短暂的休憩 只能委屈它的柔顺知礼 囫囵吞咽着快餐的...
    阿布sara阅读 308评论 0 1
  • 资中万寿宫胡鹏飞长什么样的? 清代医家尤乘对脏腑甚有研究,他在《养生说》中,提出了五脏养生要言,其论述概不用药,主...
    小灰灰1233阅读 266评论 0 0