像那样就标记未有设置git,git add 加多暂存区

安装Git

最初Git是在Linux上支付的,不短一段时间内,Git也只幸亏Linux和Unix系统上跑。可是,稳步地有人把它移植到了Windows上。今后,Git能够在Linux、Unix、Mac和Windows这几大平台上不荒谬运行了。

到来新的商号一向同事们都以用命令行来开展 git
操作。抽空学习下,并记录下。

 在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/

一、Git 通过 homebrew 来安装的,安装 homebrew 自行 google

 在Mac上安装Git

  有三种安装方式:

  1.装置homebrew后经过homebrew安装Git,具体方法请参照他事他说加以考察homebrew的文书档案:http://brew.sh/

  2.平素从AppStore下载Xcode。Xcode自带git,注意:下载好后运营壹次。才具安装好。

Git 命令:

 在Windows上安装Git

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

 

 安装到位后,设置你的别称及邮箱。

bogon:hello zuxingyu$ git config --global user.name "zuxingyu"
bogon:hello zuxingyu$ git config --global user.email "zuxingyu@gmail.com"

因为Git是布满式版本调控系统,所以,每种机器都必需自报家门:你的名字和Email地址。你只怕会顾忌,倘使有人故意冒充外人怎么做?这几个不要挂念,首先大家信任我们都以善良无知的万众,其次,真的有伪造的也可以有办法可查的。

只顾 git config 命令的 –global 参数,用了那几个参数,表示您那台机械上富有的Git货仓都会利用这些布局,当然也能够对某些仓库钦定不相同的客商名和Email地址。

git init 创制版本库

版本库

git add 增添暂存区

 创设版本库

怎么着是版本库呢?版本库又名旅舍,葡萄牙语名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 是叁个隐敝的目录。里面包车型客车文本不做修改。

git commit 提交到当地

 将文件增添至版本库

  我们得以写二个 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."

  注:

   1.万一你改改了一个文书后 git
add 了,然后您又涂改了该公文,那么 git
commit 的时候增多的只是首先次修改的内容。因为唯有 git
add 之后才把修改的文书归入暂存区中(后边会表明),正确的做法是将享有要修改的公文都修改产生之后 git add 下,然后再 git
commit ,固然你add之后又修改了,那么只好再add下了。 
   2.万一您想收回从前修改的内容。能够选择:

bogon:GitWorkSpace zuxingyu$ git checkout -- README 

    来撤废当前的退换,那时候再查看下版本库里的内容时就能够成为:

bogon:GitWorkSpace zuxingyu$ git status
On branch master
nothing to commit, working tree clean

   3.只要您已经 git
add 了,那么能够使用 git reset HEAD
README 实行撤废修改,意思正是本子回到最新版。

git status 查看当前文件状态

 查看版本库状态

  当我们在能源库中期维修改了 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 diff 查看文件不一样

 版本回降  

  在实操中大家也许不能够驾驭前面都提交了何等版本,改了什么内容。那时候大家就须求用 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^^ ,当然要是您要回降到前十三个本子的时候写 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 log 查看版本号和怎样操作

工作区和暂存区

  Git和别的版本调控系统如SVN的八个不一样之处就是有暂存区的概念。

  先来看名词解释。

git reflog 在此之前的操作命令

 工作区(Working Directory)

  就是您在Computer里能看到的目录,比如本人的 GitWorkSpace 这个文件夹正是一个事业区: 

git reset —hard +版本号 回落版本

 版本库(Repository) 

  专门的职业区有三个隐形目录 .git ,那一个不算专门的学业区,而是Git的版本库。

  Git的版本Curry存了众多东西,在这之中最重视的便是名称为stage(只怕叫index)的暂存区,还会有Git为我们自行创设的第贰个分支master,以及针对master的一个指南针叫HEAD

  当大家将文件 git
add 的时候,实际上正是将急需付出的文本放到了暂存区(Stage),不管 git add 几回,都以交由到暂存区中。然后 git commit 的时候一回性交给到支行中去。

git reset  —hard HEAD^ 回降到上个版本

 

二、工作区暂存区

小结

  本章节只是介绍了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^   // 将文件回退到当前版本的前一个版本

  东西不八只是也急需咱们消食消化,下节笔记将介绍创设分支及远程货仓的连锁内容。

 

参照网站:廖雪峰的官网

 

Git 在地面会有三个职业区和三个版本库。

职业区正是Computer能来看的目录

版本库是职业区内的藏匿目录 .git 。

版本Curry面存了重重东西,有八个 stage 暂存区,Git
会为大家机关创制第三个分支 master,以及针对 master 的 HEAD 指针

1、git add 是将工作区的文本增加到 stage 暂存区

2、git commit 是将 stage 暂存区的开始和结果交给到 master
分支,则暂存区就平素不数量了

治本修改

git 是追踪并管理修改的。叁次修改对应三遍 git add 和 git commit,每一次 git
commit 只会提交 stage 暂存区的内容。

三、撤废修改

Git 能够裁撤修改。

git checkout — fileName 三种情状。

1、在您改改后不曾 git add ,此时此命令是将 fileName
文件撤废回上次交由的情形。

2、在你改改后一度 git add 了,但在 git add
后您又涂改了该文件,此命令的职能正是将文件撤回上次 git add
时的气象。即退回 stage 暂存区的文本状态。

在你 git add 后还要也能够撤销 已经 git add 的故事情节,

git reset HEAD — fileName 能够将已经交付到 stage 暂存区的文书退回到
职业区。即出现已经 git add 的文本变为 未 git add。

四、删除文件

删去文件有三种情况,误删,真的是删

1、真的删除文件。删除该文件。然后 git rm 文件名 和 git commit
来从版本库中删去文件

2、误删,删除也是一种修改,所以能够由此裁撤修改来平复文件。git checkout
— filName 从版本库中苏醒。

五、远程仓库

增加远程仓库

能够在 github 上成立二个 repository。

接下来能够透过将地点饭馆和长距离饭馆 repository 关联起来,然后经过 push
将地面货仓内容推送到长途仓库(即 github 上的 repository)。

关联 github 仓库: git remote
addoriginhttps://github.com/mdzzyyy/StudyGit.git

origin 是为远程仓库起的名字。

https://github.com/mdzzyyy/StudyGit.git是宾馆的地点

推送本地饭店:git push -u origin master  将地面包车型客车 master
分支推送到长途。

其后每一趟修改都足以透过 git push 来推送到长途酒店

万博manbetx官网,另一种:是直接在 githud 上创设远程饭店,然后经过 git clone 来克隆到本地

下一场 git init 和 git add 和 commit 来创建本地 git 仓库和付出本地饭馆

经过 git push 来推送到长途酒馆。

未结束。

相关文章