Git 管理项目

 一个很小的HTML项目,使用。Git来记录和跟踪这个项目。包括以下内容:

  创建版本库。

  添加与修改文件。

  创建新分支。

  打标签并整理版本库。

  克隆版本库。

创建版本库 Creating a Repository

  在Git中,版本库(.git目录)是与工作目录树并排放在同一个目录中的。

  本例中,要创建一个HTML页面,给这个项目取名为mysite。

  首先创建一个同名目录“mysite”,并进入到这个目录,然后输入命令git init。

  prompt> mkdir mysite

  prompt> cd mysite

  prompt> git init

  创建完成。

代码修改

  往空版本库里面添加文件:

  创建一个名为index.html的文件,并添加文本:

<html>
<body>
<h1>Hello World</h1>
<p>My first paragraph.</p>
</body>
</html>

  创建了一个简单的HTML文件后(把它放在mysite路径下),就可以开始跟踪版本了。

  要想让Git跟踪这个文件,须先让它知道这个文件,要分两步走:

  首先使用git add命令把该文件添加到版本库的索引(index);然后使用git commit命令提交。

  prompt> git add index.html

  

  文件或文件列表可以作为git add命令的参数。

  git commit命令创建一个提交记录

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

  Git把提交者的姓名和邮件地址,以及提交留言,都添加到提交记录中。

  参数-m,告诉Git本次提交的留言为"add in hello world HTML"。

  运行命令git log可以看到这个提交相关的信息:

  prompt> git log

  输出的第一行显示提交名称,是Git自动产生的SHA-1码。Git通过它来跟踪提交,使用该哈希码可以保证每个提交的名称都是独一无二的。

在项目中工作

  修改HTML文件如下:

<html>
<head>
<title>Hello World in Git</title>
</head>
<body>
<h1>Hello World</h1>
<p>My first paragraph.</p>
</body>
</html>

  修改完毕,Git可以检测到文件被修改。

  命令git status会显示工作目录树的状态,即当前的视图状态。

  prompt> git status

  上面的结果表明Git监测到了修改,但还不知道如何处理它们。

  如果要提交,需要暂存(stage)修改,以准备把修改提交到版本库。

  Git有三个地方可以存放代码。

  第一个地方是工作目录树,编辑文件时可以直接在这里操作;

  第二个是索引(index),也就是暂存区(staging area)。暂存区是工作目录树和版本库之间的缓冲区。

  第三个,也就是最终的一个,是版本库。

  命令git add,可以暂存对文件刚做的修改。它跟前面添加一个新文件时使用的是同一个命令,只不过,这次它告诉Git要跟踪的是一个新的修改而非新的文件。

  prompt> git add index.html

  prompt> git status

  暂存修改过的index.html之后,执行命令git status可以看到,信息变为了Changes to be commited,index.html这行由红色变为了绿色。

  使用命令git commit时,不要忘记使用带-m的参数,并在参数后面加上提交留言,以解释修改的原因,如下:

  

  git log可以快速浏览提交留言:

  prompt> git log

  prompt> git log -1

  命令中加入参数:-1可以限制命令输出的提交条目的个数。

理解并使用分支

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

  创建分支的命令是git branch,该命令需要两个参数:新分支名称和父分支名称。新创建的分支基于已经存在的父分支。

  prompt> git branch RB_1.0 master

  该命令从主分支(master branch)上创建一个叫RB_1.0的分支。

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

  现在来做一些新的改动。这些改动不影响准备发布的代码。

  在</body>之前增加如下代码:

<ul>
<li><a href="bio.html">Biography</a></li>
</ul>

  用如下命令提交这些修改:

  prompt> git commit –a

  参数-a告诉Git提交全部修改过的文件。

  (这时弹出了一个文本文件,输入的信息是提交留言)。

  现在主分支上有最新的修改,而发布分支上还是原来的代码。

  

  请切换到发布分支,做发布前的最后修改。切换分支的命令是git checkout。

  prompt> git checkout RB_1.0

  转换分支后,所使用的打开文件的编辑器会提醒文件已经被修改,重新载入文件,会发现刚才在主分支上做过的修改消失了。

  可以用git status命令来查看自己在哪一个分支上:

  prompt> git status

  

  做发布前的最后修改:在<head>标记块中添加一些描述性的元标签:

<head>
<title>Hello World in Git</title>
<meta name="description" content="hello world in Git"/>
</head>

  保存并修改该提交:

  prompt> git commit –a

处理发布

添加标签

  现在是发布的时候了,要给版本打个标签。

  给Git中的代码打标签,意味着在版本库的历史中标记出特定的点,这样将来就容易找到相应版本的代码。

  prompt> git tag 1.0 RB_1.0

  以上命令中的两个参数分别指明了标签的名称(1.0)和希望打标签的点(RB_1.0分支的末梢(所对应的版本或者说所对应的提交))。

  用不带参数的命令git tag可以查看版本库中的标签列表:

  prompt> git tag

变基

  想把RB_1.0分支上所做的修改合并到主分支上来,变基命令git rebase可以完成这项工作。

  变基是把一条分支上的修改在另一条分支的末梢重现。

  先回到主分支:

  prompt> git checkout master

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

  prompt> git rebase RB_1.0

  变基前和变基后的版本库如下面两个图:

 

删除分支

  作为整理工作的一部分,删除发布分支RB_1.0。

  只要标签还在,从标签到版本树起点的一连串提交记录就都在。

  这时候删除分支只是删除了分支的名字,并不会删除分支上的任何实际内容。

  prompt> git branch –d RB_1.0

打补丁

  如果没有了发布分支,如何给1.0.x分支打补丁呢?很简单,只需要在打标签的地方再创建一条分支即可。

  前面创建分支的时候,命令的最后一个参数是新分支的父分支名称,现在只须把父分支名称改成发布标签名即可。命令如下:

  prompt> git branch RB_1.0.1 1.0

  prompt> git checkout RB_1.0.1

  运行命令git log快速查看历史记录:

  prompt> git log --pretty=oneline

为代码发布创建归档文件

  没有必要总是把历史记录(也就是Git版本库)一起发布,通常情况下,将标签对应的版本内容打包成一个tar包或者zip包就足够了。

  Git提供了git archive命令来做归档处理。

  prompt> git archive --format=tar --prefix=mysite-1.0/ 1.0 |gzip > mysite-1.0.tar.gz

  该命令中有三个参数:

  --format指明要产生tar格式的输出。

  --prefix指明包中所有东西都放到mysite-1.0/目录下。

  1.0指明要归档的标签的名称。

  最后一段命令把git archive产生的tar文件用管道输出的方法传递给命令gzip进行压缩,而压缩结果则重定向到mysite-1.0.tar.gz压缩包里。

  创建zip文件:

  prompt> git archive --format=zip –prefix=mysite-1.0/ 1.0 >mysite-1.0.zip

  生成zip格式和tar格式的命令参数几乎一样,只是改变了传递给--format的参数,而且无需通过命令gzip管道输出,直接把归档内容保存到归档文件中。

克隆远程版本库

  git clone带有两个参数:远程版本库的位置和存放该版本库的本地目录。

  第二个参数是可选的。

时间: 2024-07-31 22:41:37

Git 管理项目的相关文章

使用git管理项目

最近心血来潮,打算通过一个demo项目,整理springboot的知识点,然后以前都是使用的svn,为了有点新鲜感,使用git管理项目咯. 首先,我本地已经建立好了web工程,主要包括两个,springboot_start和springboot_common,现在需要让git管理它们,所以做下记录. 1.创建本地git仓库,git命令:git init 2.把项目添加到本地暂存区,git命令:git add . 3.提交文件到仓库,git命令:git commit -m '提交说明' 4.在gi

【转载】使用阿里云code和git管理项目

使用代码云托管和git来管理项目可以使多客户端和多人开发更加高效.通过对比github,bitbucket和国内一些云托管服务发现阿里云在项目空间和传输速度及稳定性上更能满足公司开发的要求.本文将介绍关于阿里云code及git的简单使用. 一.注册阿里云 可以直接使用淘宝账号登录,根据官网提示注册登录即可.推荐使用绑定了邮箱的淘宝账号,这样可以避免一些设置git和ssh时可能遇到的问题. 二.下载和配置git 登录阿里云code之后再右上角个人头像边上有个帮助按钮,这里给出了简单的git教程.

在自己的服务器上使用git管理项目

git是一个功能非常强大的分布式版本管理工具,与svn不同的是,它比较易于本地增加分支和分布式的管理方式.但是很多同学在使用git的时候都会一头雾水,那么接下来我先介绍一下git的常用命令. git clone [url] :克隆一个仓库到一个新的目录下. git init:在使用这个命令的时候,首先要cd我们需要构建的工程文件夹中.上面两个命令是最常用的基本命令,接下来要说的是在项目操作,所需要进行添加,提交,推送等命令. git add [filename]:添加一个文件到索引上,这里git

SourceTree的使用(git管理项目)

1.SourceTree 是什么? SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subversion版本控制系统工具.支持创建.提交.clone.push.pull 和merge等操作. 特点:分布式 优点:就是当前写完了代码, 提交到本地仓库后, 不用害怕丢失, 而且也可以做版本的记录, 如果将来有一天想找回几天前的代码, 也是可以的. 备注:代码的合并是从远程仓库拉取下来别人新写

Eclipse使用Git管理项目

一.Git版本管理eclipse中的项目 1.打开eclipse,开始在所在项目工程下进行Git版本控制 2.点击Next后,弹出如下界面 3.选择项目右击->Team->Commit 这时我们就把代码提交到了本地和远程的仓库 4.进行如下设置: 5.点击Next继续 点击"next"出现如下图所示: 最后点击finis如下图,登录github查看是否上传成功. 出现如下截图表示上传成功. 二.创建分支并切换 Teamàswitch to 然后在new一个branch 1.

Git管理项目

新建一个项目,在项目中新建一个文件名字叫.gitignore,打开git bash输入git cd Desktop/jd/切换到jd项目,git ls查看目录,ls -a查看项目隐藏的文件,git commit提交任何更改.更改一些东西后,如果想提交一次的话直接git add --all即可:这个时候再一次git status,然后提交一下git commit -m "initial progict" 如果说写了很多个页面,一下很多忘提交的话,可以单独提交你想提交的页面,比如git c

Git 管理项目 遇到的问题

Git 在commit代码的时候出现错误  意思是有没有设置用户名和邮箱 git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/87/wkg82g816sz6s0fp95_z7pnw0000gn/T/SourceTreeTemp.gJtD9g *** Please tell me who you are. Run git

使用alicode和git管理项目

https://blog.csdn.net/dark00800/article/details/54571859 https://code.aliyun.com/help/ssh/README.md?spm=a2c4g.11186623.2.8.VBLZZU&file=README.md https://blog.csdn.net/dark00800/article/details/70990833 原文地址:https://www.cnblogs.com/ytc6/p/8947450.html

windows下使用git管理github项目

在项目版本控制管理中,我想大家都熟悉CVS或着SVN了,对于新兴的git大多人还是抱着观望的态度,本文简单介绍如何在windows下使用git及github仓库管理项目. 第一,下载并安装git 目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的.下载地址:http://code.google.com/p/msysgit/downloads/list 下载完成后双击安装文件并按照提示完成git的安装.git的安装过程十分简单,安装完毕后会提示你做初