额……这个文章专为新手准备啊 老手就不要来嘲讽了
第一部分 github入门
本来应该先了解git的,但是新手才不管那些的,先把代码共享了爽一把再说(我还是新手,了解新手的心态)。
网上有一篇《两分钟学会在GitHub托管代码》写的很好,能快速教你使用github
http://blog.youkuaiyun.com/duxinfeng2010/article/details/8654690
不过文中有些地方解释的不够清楚,我来补充一下
>>touch README.md
>>git init
>>git add README.md
#这里需要添加一句git add hello.c 把你的项目文件加进来,任何格式都可以
#如果是要把目录下面的子文件夹及里面的所有内容加进来的话 可以使用 git add .(这是个英文句点)
>>git commit -m “This is a description”
>>git remote add origin https://github.com/daoxunchen(此处是你的用户名)/Hello-World(之前添的项目名称).git 这里是给你的远程仓库起了个别名,我个人理解成#define
>>git push -u origin master
第二部分 git入门
暂时先跟着书的顺序来,学完这本书以后,我再看情况重新排版
第一篇、初探git
首先安装git
安装好git后,有几个地方要设置一下
>>git config --globle user.name “daoxunchen”
>>git config --globle user,email “daoxunchen@163.com”
>>git config --globle --list
user.name=daoxunchen
user.email=daoxunchen@163.com
这两个全局变量是必须设置的,其他的可以通过git help config获取详细信息(其中大部分很少用得上)
还有一个,是对git命令的输出采用不同的颜色表示
>>git config --globle color.ui “auto” #或者always,其值默认是false (自己根据个人喜好吧)
前面也提到了,对于某个命令可以通过git help <command>查询此命令的详细描述
接下来正式开始学习git
学习git之前先要理解两个概念(版本库,工作目录树)
版本库:版本控制系统用来存储所有历史数据的地方
(我个人理解,就相当于往银行存钱,银行里既存着你的钱,也保存着你存钱的过程,什么时间在什么地点存的等等)
工作目录树:是版本库的一个“断面试图”,包含所有开发该项目所需要的全部文件,包括源代码文件、构建文件、单元测试文件等。
(你想从任意一个历史时刻开始工作,那么工作目录树中就是那个时刻中的工作状态,而“检出”,就是指把工作目录树更新成指定时刻的工作状态)
注:对于git来说,版本库是和工作目录在同一个目录下的
以一个简单的项目实例,介绍一下git的基本用法
创建版本库
给这个项目取名myhelloworld
>>mkdir myhelloworld
>>cd myhelloworld
>>git init
初始化空的 Git 版本库于 /home/daoxunchen/git_test/myhelloworld/.git/
这样一个版本库就创建好了,git init会创建一个.git目录,用来存放版本库的全部数据
myhelloworld作为工作目录树存放从版本库中检出的代码。
创建一个文件hello.c,其中代码如下:
#include <stido.h>
int main()
{
printf(“Hello World!\r\n”);
return 0;
}
这就是我们将来不断更新的代码文件。要让git记录跟踪此文件,首先要把这个文件添加到版本库的索引(index)中
>>git add hello.c
git add 命令可以添加文件,也可以添加目录
然后提交代码
>>git commit -m “add in hello.c”
[master(根提交) d6be510] add in hello.c
1 file changed, 7 insertions(+)
create mode 100644 hello.c
git commit创建一个提交记录,一个提交记录就相当于账单中的一笔收支记录,git把提交者的姓名和邮件地址(前面设置过),以及留言都添加到提交记录中,然后保存到版本库中
-m后是一个提交留言,一般用于说明添加了什么文件,做什么用的,修改代码的原因等等。
刚才我们已经提交了一个文件到版本库中。使用git log可以查看相关信息
>>git log
commit d6be510f2f91b5959da045ab08a8119c96b2707c
Author: daoxunchen <daoxunchen@localhost.localdomain>
Date: Mon Apr 1 19:58:39 2013 +0800
add in hello.c
输出的第一行是提交名称,这是git自动生成的sha-1码;第二行是提交者的信息;第三行是提交日期;最后是提交留言。
处理文件修改
修改hello.c
#include <stido.h>
int main()
{
printf(“Hello World!\r\n”);
printf(“World , Hello?\r\n”);
return 0;
}
修改完毕后,git可以检测到文件被修改
>>git status
# 位于分支 master
# 尚未暂存以备提交的变更:
# (使用 “git add <file>...” 更新要提交的内容)
# (使用 “git checkout -- <file>...” 丢弃工作区的改动)
#
# 修改: hello.c
#
no changes added to commit (use “git add” and/or “git commit -a”)
输出结果表示git监测到文件修改,但不知如何处理
修改过的文件在“尚未暂存以备提交的变更:(Changed but not updated)”下列出来,
代码从工作目录树到版本库中间还有一个区域,叫索引(index),又叫暂存区,暂存区中存放准备提交到版本库中的修改。
>>git add hello.c
>>git status
# 位于分支 master
# 要提交的变更:
# (使用 “git reset HEAD <file>...” 撤出暂存区)
#
# 修改: hello.c
#
git add 前面是用来添加新文件的,此处表示将文件存入暂存区
>>git commit -m “add worldhello in hello.c” -m “This allows for a more comment”
[master 77880dc] add worldhello in hello.c
1 file changed, 1 insertion(+)
这里使用了两个-m参数。git可以接受任意多次提交留言,每次另起一段。
>>git log -1
commit 77880dc3e1b95f3b6d2a08e43c6e6c0735e36382
Author: daoxunchen <daoxunchen@localhost.localdomain>
Date: Mon Apr 1 20:36:55 2013 +0800
add worldhello in hello.c
This allows for a more comment
git log跟一个新参数-1,数字表示log输出的提交记录的个数
第一部分 github入门
本来应该先了解git的,但是新手才不管那些的,先把代码共享了爽一把再说(我还是新手,了解新手的心态)。
网上有一篇《两分钟学会在GitHub托管代码》写的很好,能快速教你使用github
http://blog.youkuaiyun.com/duxinfeng2010/article/details/8654690
不过文中有些地方解释的不够清楚,我来补充一下
>>touch README.md
>>git init
>>git add README.md
#这里需要添加一句git add hello.c 把你的项目文件加进来,任何格式都可以
#如果是要把目录下面的子文件夹及里面的所有内容加进来的话 可以使用 git add .(这是个英文句点)
>>git commit -m “This is a description”
>>git remote add origin https://github.com/daoxunchen(此处是你的用户名)/Hello-World(之前添的项目名称).git 这里是给你的远程仓库起了个别名,我个人理解成#define
>>git push -u origin master
第二部分 git入门
暂时先跟着书的顺序来,学完这本书以后,我再看情况重新排版
第一篇、初探git
首先安装git
安装好git后,有几个地方要设置一下
>>git config --globle user.name “daoxunchen”
>>git config --globle user,email “daoxunchen@163.com”
>>git config --globle --list
user.name=daoxunchen
user.email=daoxunchen@163.com
这两个全局变量是必须设置的,其他的可以通过git help config获取详细信息(其中大部分很少用得上)
还有一个,是对git命令的输出采用不同的颜色表示
>>git config --globle color.ui “auto” #或者always,其值默认是false (自己根据个人喜好吧)
前面也提到了,对于某个命令可以通过git help <command>查询此命令的详细描述
接下来正式开始学习git
学习git之前先要理解两个概念(版本库,工作目录树)
版本库:版本控制系统用来存储所有历史数据的地方
(我个人理解,就相当于往银行存钱,银行里既存着你的钱,也保存着你存钱的过程,什么时间在什么地点存的等等)
工作目录树:是版本库的一个“断面试图”,包含所有开发该项目所需要的全部文件,包括源代码文件、构建文件、单元测试文件等。
(你想从任意一个历史时刻开始工作,那么工作目录树中就是那个时刻中的工作状态,而“检出”,就是指把工作目录树更新成指定时刻的工作状态)
注:对于git来说,版本库是和工作目录在同一个目录下的
以一个简单的项目实例,介绍一下git的基本用法
创建版本库
给这个项目取名myhelloworld
>>mkdir myhelloworld
>>cd myhelloworld
>>git init
初始化空的 Git 版本库于 /home/daoxunchen/git_test/myhelloworld/.git/
这样一个版本库就创建好了,git init会创建一个.git目录,用来存放版本库的全部数据
myhelloworld作为工作目录树存放从版本库中检出的代码。
创建一个文件hello.c,其中代码如下:
#include <stido.h>
int main()
{
printf(“Hello World!\r\n”);
return 0;
}
这就是我们将来不断更新的代码文件。要让git记录跟踪此文件,首先要把这个文件添加到版本库的索引(index)中
>>git add hello.c
git add 命令可以添加文件,也可以添加目录
然后提交代码
>>git commit -m “add in hello.c”
[master(根提交) d6be510] add in hello.c
1 file changed, 7 insertions(+)
create mode 100644 hello.c
git commit创建一个提交记录,一个提交记录就相当于账单中的一笔收支记录,git把提交者的姓名和邮件地址(前面设置过),以及留言都添加到提交记录中,然后保存到版本库中
-m后是一个提交留言,一般用于说明添加了什么文件,做什么用的,修改代码的原因等等。
刚才我们已经提交了一个文件到版本库中。使用git log可以查看相关信息
>>git log
commit d6be510f2f91b5959da045ab08a8119c96b2707c
Author: daoxunchen <daoxunchen@localhost.localdomain>
Date: Mon Apr 1 19:58:39 2013 +0800
add in hello.c
输出的第一行是提交名称,这是git自动生成的sha-1码;第二行是提交者的信息;第三行是提交日期;最后是提交留言。
处理文件修改
修改hello.c
#include <stido.h>
int main()
{
printf(“Hello World!\r\n”);
printf(“World , Hello?\r\n”);
return 0;
}
修改完毕后,git可以检测到文件被修改
>>git status
# 位于分支 master
# 尚未暂存以备提交的变更:
# (使用 “git add <file>...” 更新要提交的内容)
# (使用 “git checkout -- <file>...” 丢弃工作区的改动)
#
# 修改: hello.c
#
no changes added to commit (use “git add” and/or “git commit -a”)
输出结果表示git监测到文件修改,但不知如何处理
修改过的文件在“尚未暂存以备提交的变更:(Changed but not updated)”下列出来,
代码从工作目录树到版本库中间还有一个区域,叫索引(index),又叫暂存区,暂存区中存放准备提交到版本库中的修改。
>>git add hello.c
>>git status
# 位于分支 master
# 要提交的变更:
# (使用 “git reset HEAD <file>...” 撤出暂存区)
#
# 修改: hello.c
#
git add 前面是用来添加新文件的,此处表示将文件存入暂存区
>>git commit -m “add worldhello in hello.c” -m “This allows for a more comment”
[master 77880dc] add worldhello in hello.c
1 file changed, 1 insertion(+)
这里使用了两个-m参数。git可以接受任意多次提交留言,每次另起一段。
>>git log -1
commit 77880dc3e1b95f3b6d2a08e43c6e6c0735e36382
Author: daoxunchen <daoxunchen@localhost.localdomain>
Date: Mon Apr 1 20:36:55 2013 +0800
add worldhello in hello.c
This allows for a more comment
git log跟一个新参数-1,数字表示log输出的提交记录的个数