Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2890882
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2011-10-12 20:09:04

当你设置好gitosis(使用gitosis来配置管理git服务器端)后,就可以使用git来管理你的项目了。

当新创建一个项目的时候,需要在gitosis的gitosis.conf文件中添加对应的项目

# cd gitosis-admin # vim gitosis.conf

添加:

[group myteam] #team名称 members = elton@macbook #开发者名称 writable = project_name #项目名称,表示members中的开发者对这个项目可写

之后,进入你这个项目的目录,执行以下命令

$ cd your_project $ git remote add origin git@YOUR_SERVER_HOSTNAME:project_name.git

其中projectname.git中的projectname跟gitosis.conf中的项目名称一样。添加远程repo

初始化项目

git init

git init命令用于初始化当前所在目录的这个项目,shell返回的提示表明已经建立了一个.git隐藏目录来保存这个项目目前的进展信息。我们可以用ls -a看到它。

添加文件到git index

git add .

git add .这个命令要求git给我目前的这个项目制作一个快照snapshot(快照只是登记留名,快照不等于记录在案,git管快照叫做索引index)。快照一般会暂时存储在一个临时存储区域中。

提交

git commit -m "init the project" git commit用于将快照里登记的内容永久写入git仓库中,也就是开发者已经想好了要提交自己的开发成果了。

查找更改

git diff –cached git diff

git diff –cached是用来查看index file(快照)和仓库之间代码的区别的。 git diff 是比较working tree和index file(快照)的区别,working tree就是表示你的源文件当你修改过源代码后,但是没有commit的时候,git diff –cached是没有输出结果的,但是git diff有结果,列出了源文件和index之间的差别。 当你提交后,git diff –cached就有输出结果了,而git diff就没有了。

查看状态

git status # On branch master # Changed but not updated: # (use “git add …” to update what will be committed) # # modified: main.c # no changes added to commit (use “git add” and/or “git commit -a”)

可以看到提示信息“changed but not updated”,就是说git发现你有已经修改了但还未git add的内容。 如果git提示说“Changes to be committed”,那就是表明git发现了你已经git add但还未git commit的内容。 如果git提示说“Untracked files”,那么就是你增加了新文件或者在某个子目录下增加了新文件 添加修改

git add

这句是要告诉git,我已经修改了文件,你(指git)去检查一下。当然,如果你新增加了一个文件,比如new.c,也需要在这里先执行git add new.c告诉git。

提交修改

git commit -m "some comments for this update"

查看日志

git log

总体流程就是

  • git add remote 添加远程仓库
  • git init 初始化项目
  • git add . 添加整个项目
  • git commit 提交整个项目
  • 修改源文件
  • git diff 发现哪些文件被修改了
  • git status 查看状态
  • git add 将修改过的文件通知git
  • git commit 提交修改
  • git log 查看日志

有一个快捷的方法git commit -a,这个命令可以直接提交所有修改,省去了你git add和git commit的工序,但是如果新建了一个目录,还是要进入那个目录git add .后再git commit,无法使用这个快捷方式。

另外,对于commit中的描述,第一行一定要是少于50字的开发概括信息,而且第二行务必是空行,第三行开始才可以开始细致描述开发信息。这是因为很多版本服务系统中的email机制都会选取log中的第一行为邮件题目。

阅读(804) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~