2013年8月23日星期五

GIT-CORE的使用心得

GIT-CORE是一个分布式的版本控制器,我们是对android的源码进行开发时使用的GIT管理代码.
GIT的优缺点,原理,我就不过多赘述了.介绍一下GIT在日常使用的时候,遇到的问题,

最为一个开发者,经常遇到的问题.
1.git pull     在每次工作前,执行这个操作, 为了同步代码,使主线上的代码和个人电脑上的保持一致,如果出现merge error,可能是因为,本地的修改和服务器上的修改出现了冲突,我们只能把自己的修改备份之后删掉,checkout之后,重新pull代码.

2.git status 查看修改的代码状态

3.git add     查看过修改的状态之后,把自己修改的代码添加到暂存区(例如: git add a.java,如果为删除源文件中的东西则为git rm a.java)

4.git commit此时修改内容已经增加到暂存区,现在我们需要把添加到暂存区的内容,增加一个commit注释,然后提交到本地服务器.(如果为了简单操作 可以用 git commit -m 'commit reason')

5.git push   这时候,代码已经同步到本地的服务器,我们还需要做最后一件事情就是把本地的提交(也就是commit)推送到远程服务器.

6.git diff      常用git diff操作看一看修改的内容是哪些

7.git log      查看提交日志.可以具体到文件,看看谁对该文件曾经做过修改

8.git checkout 用本地服务器的源文件替换掉现在的这个文件

在项目中,有一个文件夹名为.git 这个文件夹中存放着git 的配置信息,例如config 就是 文件的配置信息,包括远程服务器的地址.

8.git show commit号 显示当次修改内容



作为一个git服务器的管理员
1.git init 初始化一个git服务器

2.sudo chgrp -R XXXX .git/
   sudo chmod -R g+w .git/
   进入项目之后,修改项目中.git文件夹的权限....先ls -al
   查看git服务器的所在组和组权限.
   这时,我们使用上面的两条命令.给开发者所在组提供项目的.git/文件夹的写权限,再给.git/文件夹发放组可写权限
3.git checkout -f master 现在别人提交的东西不会checkout到本地,我们只能手动checkout到本地.

4.如果我们的代码作为一个中间的服务器.中间服务器在提交和更新代码的时候.都要将代码checkout到本地.
5.由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:
    [receive]
    denyCurrentBranch = ignore

没有评论:

发表评论