Git自学与掉坑实录(一)

目录

Git自学与掉坑实录(一)
· 创建版本库
· 添加提交文件至版本库

Git自学与掉坑实录(二)
· 本地文件的修改与提交
· 多版本之间的切换
· 查看版本历史
· 忽略特殊文件

Git自学与掉坑实录(三)
· 工作区、暂存区、版本库的概念
· 进行到各个阶段管理(添加、删除、恢复、修改)文件的方法

Git自学与掉坑实录(四)
· 远程仓库
· Github的入门说明
· 参与开源项目

Git自学与掉坑实录(五)
· 管理(创建、合并、删除)分支
· 解决冲突
· Fast forward模式与禁用(是否显示合并信息)
· bug分支
· 功能分支
· 多人协作(查看信息、推送远程库、抓取)

Git自学与掉坑实录(六)
· 创建标签
· 删除标签(本地与远程)

Git自学与掉坑实录(七)
· 显示代码颜色
· 忽略文件与强制添加某些忽略文件
· 搭建Git服务器

<br />
该自学笔记是本人从零基础开始学习Git,记录在自学过程中遇到的知识盲点和掉过的坑。如果有理解偏差的地方,欢迎大家指出。
<br />

一、背景

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

分布式版本控制,即每个人的电脑上都是一个完整的版本库。当多人协作时,多人在各自本地电脑上修改了同一个文件,只需要把各自的修改推送给对方,就可以互相查看对方的修改内容。


[《Git:Git起步》文章配图](http://lib.csdn.net/article/git/12354?knId=742)

在我看来,有点类似teambition、tower等项目的协作工具,只不过这些协作工具帮助各部门的进度对接,Git是对迭代版本的控制和管理。

而开源的形式,既能给我这样的新手提供代码素材,也能让技术大神提出改进的意见。就这点看来又有点像代码界的iconfont。

Git与其他系统相比,只关心文件数据的整体是否发生变化,若文件没有变化,Git不会再次保存,而是链接到上次的保存内容。


[《Git:Git起步》文章配图](http://lib.csdn.net/article/git/12354?knId=742)

<br />

二、安装Git

1.Mac系统有三种安装方式:
a.使用Homebrew安装。
b.用Xcode安装。运行Xcode,选择菜单"Xcode"→"Preferences"→"Downloads",选择"Command Line Tools",点"Install"完成安装。

Command Line Tools 是命令行工具,比如 Mac OS 上的 Terminal 就是,用来以文字命令行执行一些查询和编辑操作,而有些需要超级管理员权限的操作也都可以经由命令行工具来执行,比如 sudo。
新版Xcode并没有看到"Downloads",所以我选择c。

c.到Apple Developer下载安装

没有账号的小伙伴记得先注册再登录。

搜索"Command Line Tools"
选择下载版本

2.验证安装结果
输入命令$(查看git版本):git --version

说明Git已经安装

如果git出现问题,可以尝试
输入命令$(查看git安装位置) which -a git
输入命令$(进入目录) cd /usr/local/bin/
输入命令$(彻底删除)sudo rm -rf git*

3.信息设置
输入命令$("Your Name"替换你的名字) git config --global user.name "Your Name"
输入命令$("email@example.com"替换你的邮箱) git config --global user.email "email@example.com"

<br />

三、本地版本库管理

版本库,又名仓库(repository,缩写repo),每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理(包括修改、删除、增加),Git都能通过".git"文件夹来实现跟踪并记录在该目录中发生的所有更新。

1.创建一个版本库
输入命令$(创建一个空目录)mkdir learngit
输入命令$(进入learngit的目录)cd learngit
输入命令$(查看learngit的完整路径)pwd

pwd命令用于显示当前目录:
/Users/用户名/Documents/blog 表示仓库位置

2.管理版本库
输入命令$(本地目录learngit初始化):git init

3.得到结果


现在,我们已经创建好了一个新的、空的仓库(empty Git repository),并且会多一个.git的目录。

如果你看不到.git目录,很可能是文件隐藏了,教程还是推荐了两个办法:
a.输入命令$(显示全部隐藏文件)defaults write com.apple.finder AppleShowAllFiles Yes +输入命令$(重启Finder) killall Finder
输入命令$(不显示全部隐藏文件)defaults write com.apple.finder AppleShowAllFiles No +输入命令$(重启Finder)killall Finder
b.输入命令$(显示该目录隐藏文件)ls -a

而这两个办法我都没办法看到.git文件夹,最后通过"前往"→输入"/Users/用户名/learngit/.git"打开该文件夹。


<br />

四、添加文件至版本库

1.编写一个wil.txt文件,内容为:
"Gold jewelry shining so bright.
Strawberry champagne on ice.
Lucky for you that's what I like that's what I like."


mac创建.txt文件
· 打开系统自带"文本编辑",输入文本内容;
· 选择"多信息文本文稿"储存,得到一个.rtf文件;
· 右键该文件,选择"显示简介";
· 将.rtf直接改成.txt,修改后缀后确定"使用.txt";
· 将格式改为纯文本(避免预览内容乱码);


· 完成。

2.将该文件放入Git仓库
· 将"wil.txt"移动到"learngit"目录下;
· 输入命令$(添加到仓库):git add wil.txt
· 输入命令$(提交到仓库):git commit -m "test"

-m后面输入的是本次提交说明,可以输入任意内容,可以方便我们从历史记录里找到改动。

拓展:添加(多个文件用空格隔开)和提交的动作都可以批量进行
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

版本添加成功

"1 file changed, 3 insertions(+)"表示,1个文件被改动(新添加的wil.txt),插入了三行内容(wil.txt有三行内容)。

· 如果有小伙伴发现,"insertions"的数量不对,可以看一下.txt的简介预览是否有乱码。本人就被乱码坑过,记得将"格式"改为"纯文本"。


· 如果有小伙伴显示如下图,说明你的姓名与邮箱还未设置,按红框内输入命令即可,或见本文"二、安装Git-3.信息设置"。


<br /><br />

小结

$ git --version #查看git版本。
$ mkdir filename#创建一个空目录。
$cd filename #前往该目录。
$ pws#显示当前目录路径。
$ git init#初始化目录。
$ git add file #添加文件到仓库。
$git commit -m "aaa " #提交文件到仓库,并说明aaa。

<br /><br /><br /><br /><br /><br /><br />

主要参考:

· 廖雪峰Git教程

其他文章与资料:

· Git Step by Step – (2) 本地Repo
· Git:Git起步
· GIT

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

推荐阅读更多精彩内容