Git入门体验
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//这样我们两条命令就可以把文件提交到我们的仓库中去了
最新文章
- Qt:postEvent 与 customEvent() 函数 进行异步通信; 以及参数的传递 // 防止界面卡死;;
- sql cross join table
- 爆料喽!!!开源日志库Logger的使用秘籍
- ArcEngine尝试读取或写入受保护的内存
- CentOS 7 内核更新后删除旧内核
- IO流--流转换
- reverse(), extend(), sort() methods of list
- cocos2d-x使用ant批量打包
- 分页加查询的sql语句
- 织梦内容管理系统(DedeCms) 小说模块insert注入漏洞
- UVa 10720 - Graph Construction
- make clean指令出现问题
- LeetCode第[18]题(Java):4Sum 标签:Array
- php7 闭包调用
- 32. pt-visual-explain
- c# 获取机器硬件信息 (硬盘,cpu,内存等)
- windows 下命令行启动停止mysql
- ASP.NET MVC5使用Area区域
- 牛客OI周赛4-提高组-C-战争[并查集]
- 关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明
热门文章
- 1001 害死人不偿命的(3n+1)猜想 (15)(15 分)
- 8.11zju集训日记
- A reader
- 关于Django在写小项目的一些小注意事项
- vue混入(mixins)
- 配置wordpress
- C# 判断字符串为空(长度为0),或者是null(没有new)
- [转]How to Create Custom Filters in AngularJs
- rails 里js 在production 只合并不压缩等问题,以及assets pipeline 加载js 在指定页面上
- 学习用node.js建立一个简单的web服务器