Git学习笔记(一) 安装及版本库介绍

安装Git

最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。

 在Linux上安装Git

  首先,你可以试着输入 git ,看看系统有没有安装Git:

$ git
The program ‘git‘ is currently not installed. You can install it by typing:
sudo apt-get install git

  像这样就表明没有安装git,安装命令: sudo apt-get install git

  当然你也可以在git官网上找到源码进行安装。官网地址:https://git-scm.com/

 在Mac上安装Git

  有两种安装方法:

  1.安装homebrew后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

  2.直接从AppStore下载Xcode。Xcode自带git,注意:下载好后运行一次。才能安装好。

 在Windows上安装Git

  略,同时后面的笔记中也不记录有关Windows相关的用法。请见谅。

 安装完成后,设置你的昵称及邮箱。

bogon:hello zuxingyu$ git config --global user.name "zuxingyu"
bogon:hello zuxingyu$ git config --global user.email "[email protected]"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意 git config 命令的 --global 参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

版本库

 创建版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

所以,创建一个版本库非常简单,首先,选择一个合适的地方,先创建一个空目录:

bogon:Documents zuxingyu$ mkdir GitWorkSpace
bogon:Documents zuxingyu$ cd GitWorkSpace/
bogon:GitWorkSpace zuxingyu$ pwd
/Users/zuxingyu/Documents/GitWorkSpace

然后通过 git init 命令将此文件夹变为Git仓库进行管理。

bogon:GitWorkSpace zuxingyu$ git init
Initialized empty Git repository in /Users/zuxingyu/Documents/GitWorkSpace/.git/

可以通过 ls -a 命令查看到当前目录结构

bogon:GitWorkSpace zuxingyu$ ls -a
.    ..    .git

.git 是一个隐藏的目录。里面的文件不做修改。

 将文件添加至版本库

  我们可以写一个 README 文件,放入版本库中,内容如下:

this is my frist git file
I‘m so excited

    注:README文件一定要放在之前创建好的资源库中。

  第一步:将文件添加至版本库中 git add README

bogon:GitWorkSpace zuxingyu$ git add README 

    注:执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

  第二步:将文件提交至版本库中 git commit README -m "frist version"

bogon:GitWorkSpace zuxingyu$ git commit README -m "frist version"
[master (root-commit) 5d9a431] frist version
 1 file changed, 2 insertions(+)
 create mode 100644 README

    注:1. git commit 命令中, -m 后面的字符表示本次提交的说明,一般输入的内容是修改了什么等等。虽然可以不写,但强烈建议要写上去。

      2. git add 和 git commit 分开的原因是,你一次修改的文件可能有很多个所以你可以add很多文件,但是commit就一次,把你add的文件全部提交上去,如下:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

 查看版本库状态

  当我们在资源库中修改了 README 文件后,我们可以通过 git status 来查看资源库中文件的修改状态

bogon:GitWorkSpace zuxingyu$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   README

no changes added to commit (use "git add" and/or "git commit -a")

    注:上面的文字已经告诉我们README这个文件已经被修改过了。

   如果你已经忘记了之前修改了文件的哪里,可以通过 git diff 命令来查看文件的修改情况。

bogon:GitWorkSpace zuxingyu$ git diff README
diff --git a/README b/README
index a289834..745208d 100644
--- a/README
+++ b/README
@@ -1,2 +1,2 @@
 this is my frist git file
-I‘m so execute
+I updated this file

    注: git diff 就是查看文件的不同。后面跟着的是文件名。-代表删除,+代表添加。记得修改后 git add 和 git commit 下

 版本回退  

  在实际操作中我们可能无法知道之前都提交了哪些版本,改了什么内容。这时候我们就需要用 git log 命令来查看之前的操作了。

bogon:GitWorkSpace zuxingyu$ git log
commit eac61c6c7cae26dbb03acf08ca10359db9be9d34
Author: zuxingyu <zuxingyu@gmail.com>
Date:   Sat Nov 5 20:48:08 2016 +0800

    thrid

commit f8cda47b31831bd42bceb59602145056f87623b2
Author: zuxingyu <zuxingyu@gmail.com>
Date:   Sat Nov 5 20:37:54 2016 +0800

    second

commit 5d9a431a6a3aa47a3adee6bbdea167522e16ec55
Author: zuxingyu <zuxingyu@gmail.com>
Date:   Sat Nov 5 17:10:35 2016 +0800

    frist version

 在这个log中我们可以看到我提交了两个版本的内容,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:

bogon:GitWorkSpace zuxingyu$ git log --pretty=oneline
eac61c6c7cae26dbb03acf08ca10359db9be9d34 thrid
f8cda47b31831bd42bceb59602145056f87623b2 second
5d9a431a6a3aa47a3adee6bbdea167522e16ec55 frist version

 这里我们要说下几个版本内容

   第一版本:frist

this is my frist git file
I‘m so execute

   第二版本:second

this is my second git file
I updated this file

   第三版本:third(最新)

this is my second git file
I updated this file
this is my thrid git file

  现在我想把第三版本回退到第二版本。操作步骤如下:

bogon:GitWorkSpace zuxingyu$ git reset --hard HEAD^

 注:

  1. HEAD 代表当前版本(本文中指第三版本),那上一个版本(第二版本)就是 HEAD^ ,上上个版本就是 HEAD^^ ,当然如果你要回退到前10个版本的时候写 HEAD^…… 这样就不太好了。我们可以写成 HEAD~10

  2.如果回退错误,想回到当前版本(本文中指第三版本),那就必须得记住当前版本的 commit id ,这个ID是提交时出现的。所以回到当前版本的办法就是控制台没有关闭,我在提交第三个版本的时候 commit id 是 eac61c6 ,所以我的命令是

bogon:GitWorkSpace zuxingyu$ git reset --hard eac61c6
HEAD is now at eac61c6 thrid

  注:如果你提交版本后控制台关闭了,可以通过 git reflog 命令找到 commit id

bogon:GitWorkSpace zuxingyu$ git reflog
eac61c6 HEAD@{0}: reset: moving to eac61c6
f8cda47 HEAD@{1}: reset: moving to HEAD^
eac61c6 HEAD@{2}: commit: thrid
f8cda47 HEAD@{3}: commit: second
5d9a431 HEAD@{4}: commit (initial): frist version

  在这里我们就发现最新版本的ID是 eac61c6

小结

  本章节只是介绍了Git的安装及简单提交、回退方法。本笔记涉及到的命令有:

git init                           // 创建Git仓库
git add file                     // 添加文件到git仓库中
git commit -m "note"      // 将添加或修改的文件提交到Git仓库中
git status                       // 查看Git仓库的状态
git diff file                      // 查看文件的修改信息
git log                            // 查看Git仓库中版本的提交日志
git log --pretty=oneline   // 查看Git仓库中版本的提交日志(简略写法)
git reset --hard HEAD^   // 将文件回退到当前版本的前一个版本

  东西不多但是也需要大家消化消化,下节笔记将介绍创建分支及远程仓库的相关内容。

参考网址:廖雪峰的官方网站

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }

时间: 2024-11-09 12:08:43

Git学习笔记(一) 安装及版本库介绍的相关文章

Git学习笔记(一)创建版本库并添加文件

最近从廖雪峰老师的个人网站上学习git,做点笔记. ★★★★★ 先注册自己的username和email,否则会报如下错误: 注册:git config --global user.name "XXX"    -------这是注册username git config --global  user.email "[email protected]"   -------这是注册email git config  --list    -------这是查看config

git学习笔记12-标签管理-版本

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. 在Git中打标签非常简单,首先,切换到需要打标签的分支上: $ git branch * dev master $ git check

Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库.友情提示:在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改).所以,不要把敏感信息放进去. 远程仓库的好处: 1.我们可以随时随地的与仓库建立连接,以实时存放我们开发的内容: 2.与他

Git学习笔记(2)——版本的回退,和暂存区的理解

本文主要记录了版本的回退,以及工作区,暂存区概念的理解. //开始之前,先回顾上次的内容,修改文件如下,并提交到版本库. Git is a distributed version control system. Git is free software distributed under the GPL. 1.查看版本库的信息 [email protected]:~/joe/learngit$ git log //可以看到,下面有3个版本 commit 71038bf6cbd05ef559549

Git学习(2)创建版本库

建版本库 创建版本库repository,Git可以对库中的文件进行管理,文件的修改和删除等都可以被Git跟踪到,可以实现历史版本的还原. 创建版本库的步骤: 1.创建一个空目录,这个仓库的路径是 c/Users/qx/learngit 2.利用 git init 命令将这个目录变成Git可管理的仓库,其中.git目录是Git用来跟踪管理版本库的 将文件添加到版本库: Git(所有的版本控制系统)只能跟踪文本文件的改动,比如TXT文件.网页.程序代码等,会告诉你在第8行添加了一个hello单词,

Git学习笔记整理

Git学习笔记 1.安装Git 注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置 $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]" 2.创建版本库-repository $ mkdir learngit $ cd learngit $ pwd /Users/m

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install

一个很流行的版本控制系统Git学习笔记

什么是Git Git是一种非常流行的分布式版本控制系统,它和其他版本控制系统的主要差别在于Git只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异,这类系统(CVS,Subversion,Perforce,Bazaar 等等) 每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容 Git另一个比较好的地方在于绝大多数操作都可以在本地执行,而每个本地都可以从服务器获取一份完整的仓库代码 而且在没网时仍然可以修改和使用大部分命令,在方便时再跟服务器进行同步,这样可以更

Git学习笔记总结和注意事项

一.Git简介 Git是目前世界上最先进的分布式版本控制系统,其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可.安装完成后,在开