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. 华东交通大学2015年ACM“双基”程序设计竞赛1003

    Problem C Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  2. ButterKnife 8.4注入失败

    1,第一步:项目的gradle中增加 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'buildscript { repositor ...

  3. linux输入输出及vim管理

    一.理解系统的输入输出 输入输出系统是计算机重要组成部分,是沟通计算机与外界的桥梁. 二.管理输入输出的符号 1.输出重定向 >                       ##重定向正确输出 ...

  4. java——单例模式

    这个教程写的真好:https://blog.csdn.net/mnb65482/article/details/80458571 1. 什么是单例模式? 单例模式确保某个类只有一个实例. 单例类必须自 ...

  5. 关于box-shadow、border-radius不兼容ie8的解决办法

    本来从css3兼容ie9+挺好的,可是总有一些共识要求ie8+,于是就有了我们的苦逼的找解决办法.之前在网上查到一些说用 PIE.htc. But 我就是按照他说的写的没有管用.请教了一下别人才会写了 ...

  6. 关于vue路由嵌套遇到的坑~

    关键在于子路由中的path问题,path之前不要放/ <!DOCTYPE html> <html lang="en"> <head> <m ...

  7. c++中 重载 覆盖 隐藏的区别 附加 mutable笔记

    成员函数被重载的特征有: 1) 相同的范围(在同一个类中): //2) 函数名字相同: 3) 参数不同: 4) virtual关键字可有可无. 覆盖的特征有: 1) 不同的范围(分别位于派生类与基类) ...

  8. Win10磁盘占用率过高

    打开服务 禁用Superfetch 禁用Windows Search 禁用Connected User Experiences and Telemetry 禁用Windows Update[恢复选项卡 ...

  9. LISP语言学习资源

    LISP的介绍:Paul Graham 的主页 http://paulgraham.com/index.html Lisp之根源 - 保罗·格雷厄姆 http://daiyuwen.freeshell ...

  10. [引]雅虎日历控件 Example: Two-Pane Calendar with Custom Rendering and Multiple Selection

    本文转自:http://yuilibrary.com/yui/docs/calendar/calendar-multipane.html This example demonstrates how t ...