首页 > 代码库 > git操作设置

git操作设置

Git 概念:

Git与SVN都是版本控制管理,不同之处,SVN是集中式管理,如果svn服务器宕机,整个基于svn的版本管理的开发将不能进行;git是分布式管理,在本地客户端有个版本库,服务端有个版本库,如果git服务器不在线,开发人员也可以基于本地版本库开发,到联线时再同步版本。

Svn常用操作:更新、提交

Git常用操作:抓取、拉取(相当于抓取+合并;相当于svn的更新)、提交(提交到本地版本库)、推送(相当于svn的提交)

客户端常用软件:sourcetree、tortoisegit

Git特色

Mac下开发ios,涉及到pbxproj合并问题,git有比较好的处理方式。

 

.gitattributes   (版本控制合并文件操作)     文件内容

*.pbxproj text -crlf -diff -merge=union


.gitignore  (版本控制忽略文件设置)   文件内容

*.xccheckout

*.xcuserstate

*.xcscheme

*.xcbkptlist

xcschememanagement.plist


 

Git服务端操作:

一、 用户组建立

建立用户:useradd git

设置用户密码:passwd git

 

建立用户:useradd test1

设置用户密码:passwd test1

用户组设置:usermod –g git test1

 

cd /home/git

mkdir prj

cd ..

sudo chmod –R 777 prj

 

二、在git版本库位置建立git仓库

1、初始化  git init 或git –bare init

2、设置忽略操作:

git config receive.denyCurrentBranchignore

3、该操作可选 (git文件模式)

   git configcore.filemode true

           gitconfig core.filemode false

4、文件权限问题(没有深入研究)

由于git配置采用ssh模式,会涉及到ssh相应的权限验证,和linux系统的用户组权限控制

遇到该类问题

常采用以下命令处理

sudo chmod g+w -R .git/objects

sudo chmod g+w -R objects

sudo chmod g+w -R .git/logs

sudo chmod g+w -R logs

 

可以采用以下设置解决文件权限问题,文件权限由git管理,该设置为对组内成员共享

git configcore.sharedRepository group

 

5、git版本控制的分支合并问题没有深入研究

 

 

6、特殊场景,比如git服务器装在虚拟机里,涉及到服务器ip地址变更问题

修改ip地址使用如下命令:

cd /etc/sysconfig/network-scripts/

vi ifctg-eth0

 

DEVICE=eth0

HWADDR=00:0C:29:1C:96:AD

TYPE=Ethernet

UUID=6c24deea-f920-4f86-bc5e-9f57bd972403

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.90.235

NETMASK=255.255.255.0

GATEWAY=192.168.90.1

DNS1=192.168.90.1

DEFROUTE=yes

 

service network restart

service iptables stop

 

git操作设置