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//这样我们两条命令就可以把文件提交到我们的仓库中去了

最新文章

  1. Qt:postEvent 与 customEvent() 函数 进行异步通信; 以及参数的传递 // 防止界面卡死;;
  2. sql cross join table
  3. 爆料喽!!!开源日志库Logger的使用秘籍
  4. ArcEngine尝试读取或写入受保护的内存
  5. CentOS 7 内核更新后删除旧内核
  6. IO流--流转换
  7. reverse(), extend(), sort() methods of list
  8. cocos2d-x使用ant批量打包
  9. 分页加查询的sql语句
  10. 织梦内容管理系统(DedeCms) 小说模块insert注入漏洞
  11. UVa 10720 - Graph Construction
  12. make clean指令出现问题
  13. LeetCode第[18]题(Java):4Sum 标签:Array
  14. php7 闭包调用
  15. 32. pt-visual-explain
  16. c# 获取机器硬件信息 (硬盘,cpu,内存等)
  17. windows 下命令行启动停止mysql
  18. ASP.NET MVC5使用Area区域
  19. 牛客OI周赛4-提高组-C-战争[并查集]
  20. 关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明

热门文章

  1. 1001 害死人不偿命的(3n+1)猜想 (15)(15 分)
  2. 8.11zju集训日记
  3. A reader
  4. 关于Django在写小项目的一些小注意事项
  5. vue混入(mixins)
  6. 配置wordpress
  7. C# 判断字符串为空(长度为0),或者是null(没有new)
  8. [转]How to Create Custom Filters in AngularJs
  9. rails 里js 在production 只合并不压缩等问题,以及assets pipeline 加载js 在指定页面上
  10. 学习用node.js建立一个简单的web服务器