介绍
介绍
Git是一款代码版本管理工具,它的特点是一个项目一个库,更新是整体更新,提交也是整体提交。
利用分支(branch)来实现协同开发,利用合并(merge)来提交协同开发的代码。
安装
安装
使用yum安装git
yum -y install git
配置
配置
创建用户 git
为 git 设置密码
useradd git passwd git
授权git目录
mkdir git /git/ chown -R git:git /git/
禁用git登录
[root@git /]# vi /etc/passwd git:x:1000:1000::/home/git:/bin/git-shell
启动git,其实git依赖的是ssh服务,所以一般情况下我们不需要单独安装
如果是在虚拟机(Docker)当中使用git服务的话,就需要执行下面的命令了
yum -y install openssh-server systemctl start sshd systemctl enable sshd
如果是在虚拟机(Docker)当中使用git服务,建议将ssh默认端口22换成其他的,例如:8022就不错
[root@git]# vi /etc/ssh/sshd_config Port 8022 [root@git]# systemctl restart sshd
使用
创建库
创建git库tongfunet
cd /git/ git init --bare tongfunet
授权git库tongfunet(重要)
chown -R git:git /git/tongfunet/
测试
我们创建 /web/ 目录用来作为测试检出库代码的主目录
mkdir -p /web/ cd /web/
克隆git库tongfunet
git clone ssh://git@localhost:8022/git/tongfunet/
进入git库tongfunet
cd /web/tongfunet/
多用户
配置
一般情况下,我们开发都是团队进行的,这时就需要分配多个账户管理一套代码
建立子账号
建立了两个账号 zhang3、li4
useradd -g git zhang3 useradd -g git li4
子账号设置密码
给两个账号设置密码
passwd zhang3 passwd li4
授权项目目录
福哥给代码库使用了 0775 权限,也就是说目录所有者和组都可以有完全控制权,而我们的zhang3和li4所属组都是git,所以zhang3和li4都可以操纵这个仓库了
chmod 0775 -R /git/tongfunet/
分支
master分支
代码库默认的分支就是master分支
在使用之前需要设置user.email和user.name,否则会提示错误
git config --global user.email "whoami@git.com" git config --global user.name "whoami"
切换到master分支
git checkout -b master
添加一个文件并提交(重要)
touch README git add README git commit -m 'init'
提交master分支
git push origin master
更新合并分支
使用pull命令进行更新合并操作
拉取主机origin的最新版本
git pull origin
拉取主机origin的dev分支的最新版本
git pull origin dev
拉取主机origin的dev分支与本地dev200103分支合并
git pull origin dev:dev200103
拉取主机origin的dev分支与本地当前分支合并
git pull origin dev
分解操作
使用pull命令和使用fetch,merge效果是一样的
git fetch origin git merge origin/dev
使用rebase合并
简单说就是从服务器拉取最新版本,替换本地代码(不是合并)
git pull --rebase origin dev
建立分支
建立分支dev
创建dev分支,并切换到dev分支
[root@git tongfunet]# git checkout -b dev Switched to a new branch 'dev'
上面的命令等价于
[root@git tongfunet]# git branch dev [root@git tongfunet]# git checkout dev Switched to a new branch 'dev'
查看分支
查看当前分支
[root@git tongfunet]# git branch * dev master
提交分支
提交修改到分支dev
[root@git tongfunet]# touch readme.txt [root@git tongfunet]# git add readme.txt [root@git tongfunet]# git commit -m "add readme file" 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 www/readme.txt
提交分支dev
git push origin dev
删除分支
删除分支dev
[root@git tongfunet]# git branch -d dev Deleted branch dev (was a0699123a).
分支覆盖
强制用master分支覆盖本地分支
git fetch --all git reset --hard origin/master git pull
总结
以上就是使用git开发时候的一些基本流程!