git服务器搭建及相关操作笔记

git服务器搭建

1、安装git,yum install git
2、创建证书登录  
    创建文件 /home/git/.ssh/authorized_keys
    权限  chmod 755 /home/git/.ssh   chmod 644 /home/git/.ssh/authorized_keys
    这里的权限很重要,否者可能会无法使用密钥登录

    在服务器 和 本机都创建pub_key
    ssh-keygen -t rsa -C "[email protected]",如果存在就不重复创建。mac本机在这里 ~/.ssh/id_rsa.pub
    并且把id_rsa.pub粘贴复制到/home/git/.ssh/authorized_keys,一个key一行

3、初始化Git仓库,首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/www.jkkouzi.git
    mkdir /home/gitrepo
    chown git:git gitrepo/
    cd gitrepo

    git init --bare www.jkkouzi.git    --文件夹权限注意,一般755
    Initialized empty Git repository in /home/gitrepo/runoob.git/
    以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

    chown -R git:git www.jkkouzi.git

4、修改sshd配置

    vim /etc/ssh/sshd_config

    找到如下配置项,去除前面的注释,如果已经开启无需再配置

    RSAAuthentication yes

    PubkeyAuthentication yes

    AuthorizedKeysFile

5、重启sshd服务

    linux重启ssh服务:service ssh restart是centos 6的命令。你这是centos 7。应该是systemctl restart sshd

6、服务端使用仓库
    创建目录/data,
    git init
    git clone [email protected]:/home/gitrepo/www.jkkouzi.com.git
    把代码放进去,git add .     git commit -m ''   git push origin master

7、客户端使用仓库
    创建目录/data,
    git init
    git clone [email protected]:/home/gitrepo/www.jkkouzi.com.git
    把代码放进去,git add .     git commit -m ''   git push origin master

如果现在有新的项目要创建仓库,换个仓库名字,重复3、6、7
 

git创建分支提交服务器:

    客户机:
    git  checkout  -b  dev_[verNo]     创建分支
    git  push  origin  dev_[verNo]     提交分支

    服务器:
方法一:
    git  pull                                        拉取分支
    git  checkout  -b  dev_[verNo]  origin/dev_[verNo]    创建远程origin的dev_[verNo]分支到本地
    如:git checkout -b dev_2.0.2  origin/dev_2.0.2
方法二:
    git pull -p
    git  checkout  dev_[verNo]             追踪关系已经建立
   

本地分支与远程分支的追踪关系:git branch -vv
建立联系:git branch --set-upstream-to=origin/dev_2.0.2  dev_2.0.2

清理远程已删除本地还存在的分支:git pull -p

git修复bug合并分支:

1、在master基础上创建临时分支hotfix改bug,完了提交
2、git checkout master
3、git merge hotfix       --合并

     Fast-forward、Auto-merging README是好消息     
     Fast-forward:Fast-forward:快速向前进。自从上一次提交之后就没改变。Git将执行fast-forward合并方式。分支历史是线性的
     如果发生冲突:git status,然后手动解决
     git add 将把它们标记为已解决状态
     git commit 来完成这次,然后不需要其他操作了


4、git branch -d hotfix   --删除

拉取同一分支代码不一致:
两服务器:1、git reset --hard     2、git pull origin bug_ZIZHU-45
 

问题:Untracked working tree file 'pub/css/downloaddj.css' would be overwritten by merge.  Aborting

git clean  -d  -fx ""
其中 
x  -----删除忽略文件已经对git来说不识别的文件
d  -----删除未被添加到git的路径中的文件
f  -----强制运行

猜你喜欢

转载自blog.csdn.net/weixin_38230961/article/details/83686915