初次接触git,为了记忆深刻,把学习的简单流程记录下来。

本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程。


1、Git的安装:(Ubuntu-Linux非常友好的安装提示)

ubuntu@ubuntu-HP-Pro--MT:~$ git  //查看git是否安装
程序“git”尚未安装。 您可以使用以下命令安装:
sudo apt-get install git
ubuntu@ubuntu-HP-Pro--MT:~$

sudo apt-get install

 git
[sudo] password for ubuntu:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树

2、配置email and username

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
--global参数,这台机器上的所有仓库,都会使用这个邮箱和用户名(也可以不同仓库不同的ID)。

3、创建版本库

//最好找个合适的地方,建个空目录
ubuntu@ubuntu-HP-Pro--MT:~$

mkdir

 joe
ubuntu@ubuntu-HP-Pro--MT:~$ cd joe/
ubuntu@ubuntu-HP-Pro--MT:~/joe$ mkdir learngit
ubuntu@ubuntu-HP-Pro--MT:~/joe$ pwd
/home/ubuntu/joe
ubuntu@ubuntu-HP-Pro--MT:~/joe$

cd learngit/

//git的初始化
ubuntu@ubuntu-HP-Pro--MT:~/joe/learngit$ git init
初始化空的 Git 版本库于 /home/ubuntu/joe/learngit/.git/
//发现最后多了.git的隐藏目录,这就是仓库ls -a可以查看这个目录

4、把文件添加到版本库

//在.git的同级目录下,也就是learngit目录里,创建文件并编写
$ touch readme.txt
$ vi readme.txt
//文件添加到版本库,并提交
ubuntu@ubuntu-HP-Pro--MT:~/joe/learngit$

git add readme.txt

 //Unix的哲学是“没有消息就是好消息”,说明添加成功。
ubuntu@ubuntu-HP-Pro--MT:~/joe/learngit$

git commit -m "joe's first txt"//

-m添加有意义的备注
[master (根提交) b401faf] joe's first txt
file changed, insertions(+) //改变了一个文件,插入了2行信息
create mode readme.txt //commit可以一次提交多个文件,所以你可以一次add多个文件如下:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

5、修改文件再次添加

//修改文本的内容如下
Git is a distributed version control system.
Git is free software.
//git status查看仓库当前的状态
root@myubuntu:/home/ubuntu/joe/learngit# git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <file>..." 更新要提交的内容)
(使用 "git checkout -- <file>..." 丢弃工作区的改动) 修改: readme.txt 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
//git diff 可以查看具体修改了什么内容
root@myubuntu:/home/ubuntu/joe/learngit#

git diff

 readme.txt
diff --git a/readme.txt b/readme.txt
index f7249b8..2fdf0c4
--- a/readme.txt
+++ b/readme.txt
@@ -, +, @@
-Git is a version control system
+Git is a distributed version control system
Git is free software
//然后往仓库中添加和提交修改过的文件
root@myubuntu:/home/ubuntu/joe/learngit# git add readme.txt
root@myubuntu:/home/ubuntu/joe/learngit# git status
位于分支 master
要提交的变更:
(使用 "git reset HEAD <file>..." 撤出暂存区) 修改: readme.txt
//提交后再次查看状态(观察一下)
ubuntu@myubuntu:~/joe/learngit$

git commit -m "add distributed"

[master 942f575] add distributed
file changed, insertion(+), deletion(-)
ubuntu@myubuntu:~/joe/learngit$ git status
位于分支 master
无文件要提交,干净的工作区

Git学习笔记(1)——安装,配置,创建库,文件添加到库的更多相关文章

  1. Git学习笔记(一) 安装及版本库介绍

    安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和 ...

  2. git学习笔记(二)—— 创建版本库&&版本管理

    一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty G ...

  3. Node.js 学习笔记 (一) 安装配置

    Node.js 安装配置 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例 Window 上安装Node.js 你可以采用以下两种方式来安装. 1.Windows 安装包(.m ...

  4. [git 学习篇]自己在github创建一个远程服务器创库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  5. Hadoop学习笔记: 安装配置Hadoop

    安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...

  6. MySQL学习笔记-MHA安装配置

    一.配置主从同步   1. 本例中主从ip及端口 Master:10.1.5.8:3306 Slave1:10.1.5.9:3306 (候选master) Slave2:10.1.5.195:3306 ...

  7. Hadoop学习笔记: 安装配置Hive

    1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...

  8. [Freescale]E9学习笔记-LTIB安装配置

    转自:http://blog.csdn.net/girlkoo/article/details/44535979 LTIB: Linux Target Image Builder Freescale提 ...

  9. blfs(systemd版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/stable-syst ...

  10. blfs(systemv版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicne ...

随机推荐

  1. Codeforces Round #379 (Div. 2) Analyses By Team:Red & Black

    A.Anton and Danik Problems: 给你长度为N的,只含'A','D'的序列,统计并输出何者出现的较多,相同为"Friendship" Analysis: lu ...

  2. easyUI datagraid的列排序

    在给datagraid做多列排序时请注意: 首先,做的是后台排序,那么需要设置: remoteSort:'true', 然后,不要添加 multiSort:'true',这个是多列一起排序无法实现.. ...

  3. android 定义 程序 Scheme 接收特定URI开启Activity

    场景:通过浏览器打开URL或者扫描软件扫描URL来启动本地应用 <intent-filter> <category android:name="android.intent ...

  4. oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”

    Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...

  5. invalidate()和postInvalidate()的使用与区别

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型: Android UI操作并不是线程安全的,并且这些操作必须在UI线程 ...

  6. hdu acm 1166 敌兵布阵 (线段树)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. BZOJ2683 简单题(CDQ分治)

    传送门 之前听别人说CDQ分治不难学,今天才知道果真如此.之前一直为自己想不到CDQ的方法二很不爽,今天终于是想出来了一道了,太弱-- cdq分治主要就是把整段区间分成两半,然后用左区间的值去更新右区 ...

  8. JAVAWEB学习

    http://www.cnblogs.com/xdp-gacl/p/3744053.html JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)

  9. uva 11174 Stand in a Line

    // uva 11174 Stand in a Line // // 题目大意: // // 村子有n个村民,有多少种方法,使村民排成一条线 // 使得没有人站在他父亲的前面. // // 解题思路: ...

  10. 结对开发训练(郭林林&胡潇丹)

    此次编程题为:求一个整数数组最大子数组之和,要求时间复杂度为O(n). 首先,我们对题目做出分析,做出第一种预行方案,即定义一个数组,当数组中元素大于等于0时,进行累加:若小于0,则与后面的数作比较, ...