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