学习Git时的发现与学完的收获

在学长的推荐下,最近我开始学习世界上最先进的分布式版本控制系统——Git(事实上学完之后我也觉得挺先进的嘿嘿)。
发现


在学习的过程中,教程(Git教程 - 廖雪峰的官方网站)里有用到一些并没有介绍过的Git命令,我通过自己琢磨以及上网找资料,弄懂了这些命令的作用,在这里分享给大家。
1.关于目录的命令
cd命令$ cd xxx可以切换目录,这里xxx为要切换至的目录名或目录的地址:

Administrator@USER-20160301YL MINGW64 ~
$ cd learngit
Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$

可以通过$ cd命令直接返回至根目录。通过$ pwd命令即可查看当前目录的地址,这里显示的是我的根目录的地址:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ cd
Administrator@USER-20160301YL MINGW64 ~
$ pwd
/c/Users/Administrator

也可以通过$ cd ..命令返回上级目录:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ cd ..
Administrator@USER-20160301YL MINGW64 ~
$

注意:cd与..之间一定要有空格。
举个例子:我有个文件夹地址为"c/Users/Administrator/learngit/gitignore/",在当前目录为根目录的情况下,如果直接键入$ cd gitignore是无法切换的:

Administrator@USER-20160301YL MINGW64 ~
$ cd gitignore
bash: cd: gitignore: No such file or directory

因为gitignore文件夹并不是在根目录下的,根目录下找不到这个文件夹,就会报错。因此要键入gitignore文件夹的地址:

Administrator@USER-20160301YL MINGW64 ~
$ cd learngit/gitignore
Administrator@USER-20160301YL MINGW64 ~/learngit/gitignore (master)
$ 

当然也可以在先找到并打开目标目录,单击右键并选择"Git Bash Here",则进入Git后,当前目录自动变成目标目录了。
2.关于文件的命令
cat命令$ cat xxx可以直接查看文件的内容,这里xxx为要查看的文件名或文件的地址:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ cat readme.txt
Git is a distributed version control system.
Git is a free software under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
Creating a new branch is quick & simple.
manage branches

Administrator@USER-20160301YL MINGW64 ~
$ cat learngit/readme.txt
Git is a distributed version control system.
Git is a free software under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
Creating a new branch is quick & simple.
manage branches

vi命令$ vi xxx可以对文件进行编辑,同样,xxx为要编辑的文件名或文件的地址。如果文件不存在会新建文件,并在终端最下面一行显示打开的是一个新文件:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ vi newfile.txt

如果文件存在则会打开现有文件:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ vi readme.txt


此时编辑器处于默认的命令模式,键入字母'i'或按"Insert"键进入最常用的插入编辑模式:

这时就可以修改文件的内容了。注意:只能通过键盘来移动光标。
也可以按"Insert"键进行插入编辑模式和替代编辑模式的切换:

在替代编辑模式下,默认替代光标后的字符,按"Backspace"键可以撤销上一次的修改。
修改完文件之后按"Esc"键退出当前的编辑模式进入命令模式,在命令模式下键入"ZZ"(注意是大写)或键入":wq"并按"Enter"键退出编辑器。没有对文件进行修改依然可以这样退出。
当然,修改完文件后要记得用git addgit commit提交修改哦,不然做的修改都白费了。
当用git add添加文件的时候,可能会出现下面的问题(我用的是Window系统,用LINUX的小伙伴们如果出错,情况并不是这样的):

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory.

仔细阅读代码,系统提示:LF 将被转换成 CRLF。这是因为Windows系统中换行符为CRLF,而LINUX系统中换行符为LF。这时键入$ git config --global core.autocrlf false,就能正常添加文件了:

Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ git config --global core.autocrlf false
Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$ git add readme.txt
Administrator@USER-20160301YL MINGW64 ~/learngit (master)
$

这是因为把全局参数--global core.autocrlf修改成了false,就不会出现上述的问题。
PS:这种方法其实不太妥当,除非只在Windows系统下开发,否则最好将--global core.autocrlf设置为true,Git可以在提交时自动地把行结束符CRLF转换成LF,而在签出(即git checkout)时把LF转换成CRLF。这样就保证仓库中换行符永远都是LF,而在Windows工作空间中都是CRLF。
收获


学习完Git后,我真心感叹这款系统的强大,开源、免费就不说,我感觉其最大的特点就是操作简单、容易上手,只需轻敲键盘,仅仅输入几行字符就能实现编辑文件、提交或撤销修改、删除文件、版本回溯等核心操作,而且Git中的命令不多也并不难记,每条命令都有很明显的含义,方便用户进行记忆。


说了这么多,我都迫不及待和我的小伙伴们利用Git开发我们的合作项目啦。当然,Git还有很多功能需要我去了解与掌握,我也一定会努力,利用好这款功能强大的系统。

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

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,201评论 9 467
  • 操作系统 window10学习来源: http://www.liaoxuefeng.com/wiki 常用 创建...
    hopevow阅读 779评论 0 17
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,682评论 1 17
  • 感恩今天又是美好的一天 感恩我的爸爸和妈妈给与我生命 感恩我的生命依旧在延续 感恩我有一个幸福的家庭 财富种子 1...
    生活就该甜甜蜜蜜阅读 219评论 0 0
  • 不知不觉,参加这次70天的写作快要接近尾声了,我们要毕业了。大家都特别的兴奋,因为感觉时间过得可真快呀,...
    D008相信幸福阅读 238评论 0 0