Git这个东西我也是最近才知道的,然后知道后却发现一个事实:自己真的是太LOW啦!竟然连Git都不知道!!!???

  Git 在实际协同工作时会为我们提供巨大帮助,

下面简单介绍一下Git的用法:

一.初始化Git

1.在终端中的根目录下执行: 

    

$ mkdir wuya
$ cd wuya
$ git init

这是对git初始化,我们先新建了一个文件夹wuya,之后进入wuya,执行初始化操作后它会建立一个隐藏的文件夹 .git ,然后git就接管这个文件夹啦。

2.接下来,我们需要做的是对GIt进行配置:

  比如:设置你的名字和email,这些到时就是你在提交commit时的签名,以后每次提交记录里都会包含这些信息。

$ git config --global user.name "hei.wu.ya"
$ git config --global user.email "heiwuya@gmail.com"

这时就在/home/wuya下面新建了一个叫做.gitconfig的隐藏文件可以使用

ls -al

命令进行查看到它的存在,还可以通过vim或是cat来查看其中的内容:

$ cat ~ /.gitconfig
[user]
email = heiwuya@gmail.com
name = hei.wu.ya

三.获得一个Git仓库

接下来,我们就可以克隆一个文件库啦!(当然这里有两种方式,一种是克隆,另一种是初始化一个新的仓库)

1,我们先介绍clone方法:

$ git clone 输入你要克隆的文件地址
//exmaple:
$ git clone http://wuya.com/Git/gitproject

之后,我们级会在当前目录下惊奇的发现多了一个gitproject文件夹,里面就是我们clone下来的code,这里我们来查看一下。

$ cd gitproject
$ ls
index.js

2,初始化一个新的仓库:

$ cd /home/wuya/
$ mkdir GitProject
//进入到代码目录,对Git仓库初始化
$ cd GitProject
$ git init
Initialized empty Git repository in /home/wuya/.git/

通过

ls -la

  可以看到GitProject目录下有个.git文件夹被创建,这就表示这个库初始化成功了,有兴趣你也可以进入到.git中看看都有啥。

三.一般的工作流程

1,创建或修改文件

2,使用git add命令添加新创建的文件到本地的缓冲区

3,使用git commit命令提交到本地代码库

4,(如果有可同步的远端代码库)使用git push命令将本地代码库同步到远端代码库

$ cd GitProject
//新建三个文本文件
$ touch file1 file2 file3
//修改文件,用vim或者echo命令直接添加
$echo “heiwuya1” >> file1
$echo “heiwuya2” >> file2
$echo “heiwuya3” >> file3
//查看当前git仓库状态
$ git status
On branch master Initial Commit Untracked files:
(use "git add <file>...") to include in what will be commited)
file1
file2
file3
nothing added to commit but untracked files present (use 'git add' to track)
//这是在告诉我们:有三个文件untracked状态,下一步我们需要通过 git add命令将他们加入到缓冲区

使用git命令将新建的文件添加到缓冲区:

//将文件添加到缓冲区
$ git add file1 file2 file3
//查看状态
$ git status
On branch master Initial commit Changes to be commited: (use "git rm --cached <fiel>..." to unstage)
new file:file1
new file:file2
new file:file3

接下来,我们要做的的就是将我们缓冲区的文件送到我们的仓库去:

$ git commit -m "说明信息"
$ git push //上传至仓库

其实,我们三个基本步骤也可以简化一下:

$ git commit -am "说明信息"
$ git push//这样我们两条命令就可以把文件提交到我们的仓库中去了

Git入门体验的更多相关文章

  1. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  2. git入门网站

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git入门教程:对商业的.开源的. ...

  3. git入门及上传项目到github

    Git入门:       如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),我们此时应该有两个仓库,就是两个放代码 ...

  4. Git入门仅这篇就够了

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/5978937.html 前言 大家好,我是Cavalier ...

  5. git入门学习(二):新建分支/上传代码/删除分支

    一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...

  6. git入门学习(一):github for windows上传本地项目到github

    Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...

  7. git初体验(三)git分支

    分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了. 你创建了一个 ...

  8. Vert.x入门体验

    Vert.x入门体验 一.概述 Vert.x(http://vertx.io)是一个基于JVM.轻量级.高性能的应用平台,非常适用于最新的移动端后台.互联网.企业应用架构. 二.安装配置 访问Vert ...

  9. Git入门简介

    ​1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本 ...

随机推荐

  1. P3943 星空

    传送门 观察题目数据,发现 k ≤ 8 ,可能可以从这里入手解决问题 考虑状态压缩 但是我们每次操作都会让一连串的序列改变,而序列的每个状态都是必须要知道的 很麻烦,所以考虑如何把一段区间表示地简单一 ...

  2. hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map

    题目传送门 题目大意: 给出一张n*n的图,机器人在一秒钟内任一格子上都可以有五种操作,上下左右或者停顿,(不能出边界,不能碰到障碍物).题目给出k个障碍物,但保证没有障碍物的地方是强联通的,问经过无 ...

  3. hdu1387 模拟队列

    Team Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. redis 集合

    > SADD myset1 a b c (integer) > SADD web maiziedu.com (integer) > SADD web maiziedu.com (in ...

  5. 基本数据类型 list and tuple 04

    列表和元组 一,列表 1.列表 由[]括起来 可以存放各种数据类型:  存放量比较大 2.列表的索引和切片  列表也有索引 lst [i] i 即列表中各元素的位置 2.1列表的切片 lst[star ...

  6. Tcpdump 的详细用法

    1.抓取回环网口的包:tcpdump -i lo 2.防止包截断:tcpdump -s0 3.以数字显示主机及端口:tcpdump -n 第一种是关于类型的关键字,主要包括host,net,port, ...

  7. Python中的None与 NULL(即空字符)的区别

    None是Python的特殊类型,NoneType对象,它只有一个值None. 它不支持任何运算也没有任何内建方法. None和任何其他的数据类型比较永远返回False. None有自己的数据类型No ...

  8. sscanf()分割字符数组

    sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 头文件: #include<stdio.h> 或者 #include < ...

  9. sf01_什么是数据结构

    数据结构解决什么问题 如何在计算机中存储数据和信息,采用什么样的方法和技巧加工处理这些数据,都是数据结构需要努力解决的问题. 解决问题的步骤 使用计算机解决问题的步骤:分析具体问题得到数学模型,设计解 ...

  10. PHP、thinkPHP5.0开发网站文件管理功能(四)下载文件

    public function download($currdir = null){ $file = urldecode($currdir); $file = iconv('UTF-8', " ...