git是分布式版本控制系统,同一个Git仓库,可以分布到不同服务器上。一般情况下,可以找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。实际运用中,我们可以使用官方的github网站作为服务器,如果在企业里,可以自己搭建一个git服务器。
使用github
注册github账号
到Github官方网站注册。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要获取并设置秘钥。
第一步:
在linux用户主目录下(/root或者/home/用户名)通过ls -ah
命令查看是否有.ssh
目录,有则进入,没有就通过命令$ ssh-keygen -t rsa -C "youremail@example.com"
创建该目录,里面有id_rsa
私钥,id_rsa.pub
公钥
第二步:
登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
添加远程库:已经在本地创建了git仓库。
然后在本地的git仓库下运行命令:
git remote add origin git@github.com:yinyuxin/study.git
让本地仓库与github远程仓库连接起来,推荐使用ssh协议,https协议不仅网速慢,每次提交还需要输入口令最后就可以通过
git push origin master
推送本地仓库至远程仓库,第一次推送加上==-u==
克隆远程库:先有远程仓库,再有本地仓库。
git clone git@github.com:yinyuxin/study.git
使用gitlab
安装gitlab
配置SSH公钥
==配置ssh公钥,使用该协议限制本机与服务器通信,只有SSH公钥匹配才能修改仓库,秘钥生成方式和上面github的方式一样==
创建git项目远程库
==创建成功后,将会得到该项目版本库的SSH和http地址==
git全局配置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
==使用--global配置后,每个git仓库都会调用里面的配置,若要单独在某个项目里配置信息,就到相应的git项目文件目录里 使用以上两条命令,并且不要加 --global参数==
本地没有git版本库,直接从gitlab上克隆
git clone git@192.168.198.4:root/gitlab-test.git
cd gitlab-test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
本地已经有项目代码,但没有创建git版本库
cd existing_folder
git init
git remote add origin git@192.168.198.4:root/gitlab-test.git
git add .
git commit -m "Initial commit"
git push -u origin master
本地已经有git版本库
cd existing_repo
git remote add origin git@192.168.198.4:root/gitlab-test.git
git push -u origin --all
git push -u origin --tags
==默认情况安装gitlab会开机自启动,可以通过如下命令关闭==
systemctl list-unit-file|grep enabled
systemctl diable gitlab-runsvdir.service
==补充:以上两条命令会导致本地gitlab服务无法启动==