每天学点Git -- 笔记(一)

如果你作为一名Android开发者,不懂Git?那我们就一起学习,请各位亲共勉!(参考廖雪峰老师的博文,受益匪浅!!!)

网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  1、Git?

  何为Git?它是如何诞生的?如何安装?请大家参考廖雪峰老师的博文,简单幽默,就像在读小说。

  我只能告诉你:Git是目前世界上最先进的分布式版本控制系统(没有之一)。

  Git有什么特点?简单来说就是:高端大气上档次!

  2、我们来看看如何创建Git版本库

  (1)创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

$ mkdir learngit
$ cd learngit
$ pwd
/home/username/learngit

  对于上面的代码,大家应该不陌生,mkdir 新建一个learngit空目录,进入目录。pwd 显示当前目录的路径。

  (2)通过git init命令把这个目录编程Git可以管理的仓库:

$ git init
Initialized empty Git repository in /home/username/learngit/.git/

  Ok,Git就把仓库建好了,我们可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的。

  我们通过 ls -ah 可以看到这个.git目录,因为它是隐藏的。

  (3)下面我们开始正式工作:在此目录下新建一个文件,必须要在这个目录下:

Git is a version control system.
Git is free software.

  我们通过两步将文件放入Git仓库:

    · 使用 git add 将文件添加到Git仓库

$ git add readme.txt

    · 使用 git commit 将文件提交给Git仓库

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

  -m:后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

  注:git commit命令可以一次提交多个文件,所以我们可以一次添加多个文件,代码如下:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

  (3)接下来,我们对readme.txt文件进行修改

Git is a distributed version control system.
Git is free software.

  执行git status 命令查看结果:

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

  git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

  问题来了:能够知道修改了内容,那么修改了哪些内容,如何看呢?很简单,执行如下代码:

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.

  git diff就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。

  下面,我们对修改后的文件,进行提交:执行git add:

$ git add readme.txt

  在提交之前,我们再次通过git status查看状态:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   readme.txt
#

  ok,我们进行提交,代码:

$ git commit -m "add distributed"
[master ea34578] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

  提交完成,我们再次通过git status查看状态:

$ git status
# On branch master
nothing to commit (working directory clean)

  

  

时间: 2024-08-27 03:15:41

每天学点Git -- 笔记(一)的相关文章

每天学点Git -- 笔记(四)

现在,我们考虑一种情况,当你修改了文件,但是此时你想撤销它,怎么办?下面,我们用代码试验一下: (1)在readme.txt中添加新的一行: $ cat readme.txt Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. My

每天学点Git -- 笔记(三)

本帖,我们一起来看看分布式版本控制系统Git与集中式版本控制系统SVN等系统的不同之处:暂存区 (本帖原版来自廖雪峰老师的博客,这里只是进行了稍微修改与整理,因为廖雪峰老师写的很详细,也很实在,这里不能步说一下.原版内容大家可以参考本系列贴的第一贴.) 首先,我们一起分析几个专有名词: 1.工作区(Working Directory) 就是你在电脑里能看到的目录,比如maxingit文件夹就是一个工作区: 2.版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Gi

每天学点Git -- 笔记(二)

上一篇帖子,主要进行了Git库文件的修改,并进行了添加.提交等操作,在进入主题之前,我们对readme.txt文件再次进行修改,代码: Git is a distributed version control system. Git is free software distributed under the GPL. 对修改后的文件add并commit,代码: $ git add readme.txt $ git commit -m "append GPL" [master 3628

Node 即学即用 笔记 思维导图

Node即学即用 REPL(Read-Evaluate-Print-Loop) console.log .clear .help .exit require('http') createServer 聊天服务器 tcp服务器 require('net') on connection on data on end on error telnet express app.get app.post -app.js -public -views ----partials EJS模板语言 测试 requi

git笔记:通过给grunt-inline打tag看tag操作

晚上review了下grunt-inline的issues,看到有个兄弟pull request,修正了0.3.0版本的一个bug.于是就merge了下,然后发布了0.3.1版本(这里). npm publish后,突然想到一个问题,发布了这么多个版本了,但好像都没有打过tag,这个不利于版本回溯以及bug trace.svn版本管理里有tag的概念,git里八九不离十也有,虽然还没用过.就简单百度了下,打完tag后顺便做下笔记: 查看tag git tag 比如我在grunt-inline的项

git笔记之多账户的使用

一:加载wifi驱动模块 在hardware/libhardware_legacy/wifi/wifi.c调用函数 insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) 其中 DRIVER_MODULE_PATH = /system/lib/dhd.ko DRIVER_MODULE_ARG  = "firmware_path=/etc/wifi/40181/fw_bcm40181a2.bin nvram_path=/etc/wifi/40181/nvram.

git笔记之eclipse使用github远程仓库进行版本管理

这里记录一下eclipse开发工具中git的使用说明. 环境:centOS,eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz eclipse的使用需要依赖Java环境,这边CentOS系统里面已经安装好了JDK: 不能使用open-jdk,此版本会出现不明异常. 1.eclipse安装egit插件: eclipse里面,help --> Eclipse Marketplace 搜索egit 按照eclipse默认要求一步一步安装即可. 2.New Pr

git笔记之安装使用

git是什么? 简单介绍一下,Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git是目前世界上最先进的分布式版本控制系统,没有传说中的之一. Git诞生? Git 是 Linus为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.在过去一段时间里,Linux的开发并没有使用到版本控制,天呐!Linux这么牛逼的系统曾经在开发过程中居然没有使用到版本控制,这个放眼于现在这个阶段觉得很不可思议,当时确实是这样的,世界各地的志愿者把源代码文件

菜鸟学设计模式系列笔记之Prototype模式(原型模式)

菜鸟学设计模式系列笔记之Prototype模式: Intent: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 Motivation:以一个已有的对象作为原型,通过它来创建新的对象. 在增加新的对象的时候,新对象的细节创建工作由自己来负责,从而使新对象的创建过程与框架隔离开来. 应用场景: (1)当一个系统应该独立于它的产品创建.构成和表示时 (2)当要实例化的类是在运行时刻指定时,例如动态加载 (3)为了避免创建一个产品类层次平行的工厂类层次时 (4)当一个类的实例只能有几个