使用git 本地文件(1)----连载

来源:互联网 发布:同志漫画软件 编辑:程序博客网 时间:2024/04/30 23:56

1、创建一个项目

加入我打算把我的项目放在D盘下的gitserver下的mysite中,那么使用git,进入D盘下的gitserver创建文件夹


创建完成后。从现在开始,这个git版本库就可以用来记录和跟踪该项目的代码了(其实git init会创建一个.git目录。这个目录用来存放版本库的全部元数据。mysite目录作为工作目录树,存放从版本库中检出的代码)



2、加入一个文件

假设我写了一个index.html的文件:

<html><body><h1>hello world</h1></body></html>

把这个文件放到mysite中,要想让git跟中这个文件,须先让它知道这个文件要分两步走:首先使用git add命令把该文件添加到版本库的索引;然后使用git commit命令提交



git commit命令创建一个提交记录。提交记录是存储在版本中的历史记录,每提交一次创建一个记录,并标记处代码的演进。

前面命令中参数-m的作用是,告诉git本次提交的提交留言。


3、在项目中工作

下面我们对这个html加入<head><title>元素:

<html><head><title>my html</title></head><body><h1>hello world</h1></body></html>

修改完毕,git status可以检测到修改:



使用git add命令,对这个index.html文件进行暂存(暂存修改,以准备把修改提交到版本库,存储区是工作目录树和版本库之间的缓冲区)


可以看到midified这一行从红色变成了绿色

提交一下这次的修改:



接着可以使用git log快速浏览提交留言:



git log的一个新参数-value,可以通过改变该数字来限制命令git log输出的提交条目的个数

现在mysite项目的代码几乎可以发布了,但是还需要进行测试等工作,知道确认它达到了预期的功能和质量。而与此同时,借助分支,可以开始下一个版本的新功能开发了


4、使用分支


分支可以为要发布的代码保留一份拷贝,所以无须停止正在开发的工作。创建分支的命令是git branch,该命令需要两个参数:新分支名称和父分支名称(主分支一般教主master)

分支名称中的RB代表发布分支(release branch)。该前缀可以让人快速分辨出哪些分支是发布分支


5、对主版本进行修改(主要看后面有个版本号)


<html><head><title>my html</title></head><body><h1>hello world</h1><ul><li><a href="bi.html">biography</a></li></ul></body></html>

对主线版本matserhtml做修改,这些改动不影响准备发布的代码

提交这些修改


接着需要加入“留言”


键盘i,加入“留言”之后:


wq保存



看到这样的提示,表示主线版本已经修改好了

// 那么我们先把git工具给关闭,让刚才的暂存(修改)动作生效


6、在这个时候需要对RB版本的代码进行修改

    现在情况来了,我需要修改回到RB的版本(就是上边提到的分支的版本)



这样一来就回到了,我们的RB版本中(看下面图最后的版本号)


他的代码是一开始我们设置分支版本时候的:

<html><head><title>my html</title></head><body><h1>hello world</h1></body></html>


7、做发布前的最后修改

     上面我们已经切换到分支部分(RB_1.0)的代码,下来我们要对这些代码进行加入meta

<html><head><title>my html</title><meta name="description" content="hello world in Git" /></head><body><h1>hello world</h1></body></html>

这里也用git commit -a进行保存(参考上面的)


8、处理发布

    现在准备发布1.0版本了,要给他打个标签。给git中的代码打标签,意味着在版本库的历史中(其实是SHA)标记出特定的点,这样将来就容易找到相应版本的代码。因为是要做1.0版的发布,所以打一个“1.0”的标签:


以上命令中的两个参数分别指明了标签的名称和希望打标签的点,他们分别为1.0RB_1.0分支的末梢。用不带参数的命令git tag可以查看版本库中的标签列表:



给代码打过标签以后,需要做一些整理工作。现有的两条分支上有不同的提交,他们并不知道彼此所包含的代码。创建RB_1.0以后,主分支用于版本2.0的新功能开发,现在要把RB_1.0分支上所做的修改合并到主分支上来:

先用git checkout切换到master版本



接着运行命令git rebase,后面跟一个参数:希望合并到哪条分支的末梢,就使用哪条分支名称做参数:



现在的版本变成了这样的一个形式:





最后,作为整理工作的一部分,删除发布分支RB_1.0。让上面的图变成:




使用命令git branch -d



9、创建一个归档文件

使用git做的最后一件事是,为代码发布创建归档文件。没有必要总是把历史记录(也就是git版本库)一起发布,通常情况下,打包成tar包或zip包就足够了。

打包成tar包:



注意这里,如果换行了 需要用"\"连接起来




打包成zip包:




git archive命令中有三个参数。死一个,--format指明格式;第二个,--prefix指明包中所有东西都放到mysite-1.0/目录下。最后,1.0指明需要归档的标签的名称


10、简单的最后

    当然,发布一个版本还有更多任务要完成,例如更新wiki、代码验收测试等,这些任务与项目开发过程中所使用的具体工具盒策略相关。


11、综上

    以上都是一些基本的命令,但到目前为止他们都是与本地版本库打交道的命令。如果你不打算开源(只想在本地玩玩,这样就足够了)。当然你也可以关注下次的,用局域网构建多人开发平台。