git 初体验

安装 git

git官网,这里提供了详细文档,《起步》中的1.5节是 git 的安装方法,它提供了 windows、mac、linux 平台的安装方法。

安装成功后,打开终端输入git --version,如果能看到 git 版本,就说明安装成功了。mac 推荐使用 iTerm2 终端软件,windows 推荐使用 git bash。

git 最小配置

在正式使用 git 之前需要做一些配置,称之为最小配置,也就是说要将参与项目开发人员的 name 和 email 进行设置。

每次的变更,在什么时间点,是谁做出了变更,那个这个信息是跟着某个变更信息捆绑在一起的。

单引号里面的是需要你自己填写相应的信息,这些信息最好是真实的,方便别人找到你。

git config --global user.name 'your_name'
git config --global user.email 'your_email'

这个地方设置了global,那是不是还有别的呢?

除了global以外,还可以设置localsystem

git config --local      //只对某个仓库有效
git config --global     //对所有仓库有效
git config --system     //对系统所有登录的用户有效

我们在使用 git 时,它会管理我们的文件系统,不是整个操作系统级别的管理,比如说你在某个地方建立了 git 仓库,仓库就相当于一个独立的项目。

如果你设置local的话,你设置的信息,比如user_nameuser_eamil只会对当前仓库有效,如果你切换到另一个仓库时,local的配置就会无效了,

设置global的话,如果我电脑上有十个仓库,那么设置的user_nameuser_email就会对这十个仓库都有效

设置system的话,是对系统所有登录用户都有效。

在工作中为了方便,用global最多,system基本不用。

你在做设置之前,想要看下现有配置是什么样的,可以使用list命令

git config --list --global      //可以查看相关配置,是否设置成功

建 git 仓库

在实际的工作中,建仓库有两种场景:

  1. 把已有的项目代码纳入 git 管理
cd 项目代码所在的文件夹
git init
  1. 新建的项目直接用 git 管理
cd 某文件夹
git init your_project   //会在当前路径下创建和项目名称同名的文件夹
cd your_project

我们现在桌面上创建一个git目录,后面关于 git 的学习都将会在这个文件夹下。

创建第一个 git 仓库

git init git_learning 初始化一个新的 git 仓库,里面有一个.git的隐藏文件夹,它将是我们的核心,后面会慢慢讲解。

前面讲了给当前项目设置config,有三种方式,之前已经设置了global,这次设置一个local,看下最终提交时它会用global绑定的信息,还是local绑定的信息。

之前globaluser.name设置的是tiantian,现在localuser.name设置的是uccs

image

当我们用git commit命令提交后,可以用git log来查看提交历史,黄颜色的commit是这次提交的id号,Author显示的是uccs,这个作者是刚刚给local设置的绑定信息,由此我们可以看出如果同时存在globallocal的绑定信息,local的优先级要高。

往仓库里添加文件

要进行4次提交,养成 git 的工作习惯

image

暂存区的作用:

  1. 在工作目录做的变更首先将它添加的到暂存区;
  2. 你在工作目录做的变更,假设你有了其他方案,你不妨把这次的变更先放到暂存区;
  3. 然后在尝试用另一套方案,假如第二次的方案还没有第一次好的话,暂存区的方案可以覆盖工作区的方案;
  4. 暂存区的内容,是暂时存放,还不是作为一个正式的提交,但是它已经被 git 管理了,暂存区的内容可以很容易的被正式提交,如果不合适还可以回退。

第一次提交

  1. 创建了一个index.html
  2. 使用git status可以查看工作目录和暂存区的状态。现在的提示是没有被 git 管理
  3. 使用git add index.htmladd后面可以添加多个文件或者文件夹
  4. 再次使用git status,它会提示你已经将文件添加到暂存区去了。
  5. git commit -m 'add index.html'作为第一提交
    image

第二次提交

  1. 我们给当前页面加点样式,创建了一个style.css的文件
  2. 使用git status发现刚刚创建的文件没有被 git 管理
  3. 使用git add style,将刚创建的文件添加到暂存区
  4. 确认无误后,使用git commti -m 'add style.css'作为第二次提交 [图片上传失败...(image-ce92b1-1558452645149)]

第三次提交

  1. 过程同第二次提交步骤一样
image

第四次提交

  1. 现在需要对第一提交的index.html进行编辑
  2. 编辑后使用git status,发现之前绿色的文件又变成了红色。
  3. 对修改的文件,可以使用git add -u将它添加到暂存区
  4. 确认无误后,做第四次提交。


    image

git 高效重命名文件

工作中有时会存在文件重命名的,我们第一反应是,在工作区或者工作目录里面完成,然后将它加到暂存区里去,再用commit的方式去提交

mv readme readme.md
git status      //会提示你要删除 readme,同时要添加 readme.md。

下图:

image
git rm readme
git add readme.md
git status

下图:最终的状态 git 知道你是在重命名文件

image

按照现在已知的方法是这几个步骤

  1. 将文件重命名
  2. 将重命名后的文件添加到暂存区
  3. 将老文件移除

用 git 的命令该怎么做呢?

先回到初始的状态,可以用git reset --hard,它会将工作区和暂存区之前的操作全部清空,回到初始状态。此操作比较危险,慎用。

git mv readme readme.md

下图:一个 git 命令代替上面三个步骤,效果是一样的

image

最后提交一下,用 git 提供的命令重命名,不需要再add了。

总结

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

推荐阅读更多精彩内容