本文已翻新:
Gitee码云从新建到推送完整教程,教你如何走上git开发之路
特别说明:涉及到自定义(变量)的地方我都会使用下面这个符号进行说明,同时我会给出自己的实际值进行演示
${}
所以凡涉及此符号的请根据自身实际进行填写,勿直接复制粘贴。
目录
2.2.4:配置PULL和PUSH参数(包含windows平台)
1.安装与简介
首先这个码云,顾名思义,代码在云端,可以说git是一个程序员的标配工具,具体有啥用先看教程吧
首先我们先安装git,这里我用centos7做一个演示,第一步安装git
yum install -y git
第二步去码云注册一个账号,然后新建一个项目,项目命名随意
点击创建,然后进入仓库界面,然后点击右中上的“克隆/下载”按钮,调出项目地址(HTTPS协议)
然后我们到安装了git的centos系统上执行下面的指令
git clone ${Git_URL}
${GitURL}属于变量,即Git项目地址,在这里我的是
https://gitee.com/with_chen_ya/git_tutorial.git
所以我要执行的指令就是
git clone https://gitee.com/with_chen_ya/git_tutorial.git
此时可以看到,该项目已经成功拉取下来了,那么到这里,最简单Git应用就算完成了!
2.配置单master分支的本地仓库与远程Git仓库连接
2.1:配置密钥
在我们拉取了新建/已有的仓库之后,如果我们需要在此电脑进行代码提交,那么就需要进行一些配置才行了,此教程适用于windows/Linux系统,前提是安装了Git客户端,话不多说,下面开始配置。
下面的教程以Linux平台进行讲解,windows平台的话大同小异,只有理解了Linux平台的操作,那么在windows其实也是一样的,只是有些细节上的命令(系统管理命令)不通用而已。
第一步:配置邮箱信息,命令如下
##这只是语法 ssh-keygen -t rsa -C "${Email}"
此邮箱只是作为一个标识而已,不过建议还是填写实际邮箱比较好,那么在这步我的指令则是
ssh-keygen -t rsa -C "yachen@163.com"
执行这一条命令的时候,会提示相关信息,不用管,直接三次回车即可,执行结果如下
如果有下面这个提示的话就输入y即可(意思是已经配置过了,是否覆盖)
命令解析:
密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。
同时在密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。
所以在这里输入自己的邮箱或者其他都行。输入完毕后程序同时要求输入一个密语字符串(passphrase),
空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤
然后查询公钥,命令如下
echo 请将下面的内容复制下来&&cat ~/.ssh/id_rsa.pub
从上面的反馈信息可以看到,最后面那里就是刚才设置的邮箱地址,说明配置成功,然后我们把反馈信息全部复制下来,然后我们继续回到码云,点击个人设置--->SSH公钥
然后标题随便写,把刚才复制的公钥粘贴到下面,然后确定即可,配置一次密钥可以在此主机上使用这个Git账号的所有仓库,所以下面以重新克隆仓库的方式进行演示。
2.2:配置仓库信息
2.2.1:删除HTTPS协议
首先把前面克隆的仓库文件夹删除(也可以跳过此步【2.2.1】)
克隆的语法我就不解释了,前面已经说过了,下面直接克隆(转成windows平台以充分展示Git在不同平台的共同性)
git clone https://gitee.com/with_chen_ya/git_tutorial.git
拉取成功之后,我们就需要进入项目文件夹里面操作了
cd ${dir}
首先查看当前Git项目地址(第一张是linux的,第二张是windows的,可以看到,此时除了颜色不一样,其他反馈结果都是一样的)
git remote -v
可以看到,此时的Git地址是HTTPS协议的,此协议只适合克隆,不适合(反正我没试过)提交,所以现在要删除这个协议,换成ssh协议的,然后就可以通过ssh密钥进行登陆验证了。
echo 删除HTTPS协议地址&&git remote rm origin
然后验证一下仓库地址
git remote -v
此时,仓库地址已经删除。
2.2.2:增加ssh协议
然后执行下面的命令
read -p "请输入GIT开头的项目地址" git&&git remote add origin $git
上面这两句就是替换协议的一个过程,然后我们来验证一下,命令如下
git remote -v
此时我们可以看到,https已经变成ssh了。至此仓库信息配置完成,下面配置认证信息
2.2.3:开启RSA认证(Linux平台)
###################################Linux平台###############################################
在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,配置成一下参数,下面附上命令
echo "RSAAuthentication yes" >> /etc/ssh/sshd_config&&cat /etc/ssh/sshd_config
Windows平台不需要执行2.2.3
sed -i 's/#PubkeyAuthentication/PubkeyAuthentication/g' /etc/ssh/sshd_config
1 2 3 |
|
在/opt/git下创建.ssh目录,然后创建authorized_keys文件,把id_rsa.pub里面的内容复制到authorized_keys文件中
可以使用vi写入,也可以使用下面这些命令
mkdir -p /opt/git/.ssh&&p=$(cat /root/.ssh/id_rsa.pub )&&echo "$p" > /opt/git/.ssh/authorized_keys&&cd /opt/git/ &&chmod 700 .ssh&&cd .ssh/ &&chmod 600 authorized_keys
上面的命令总结起来就是
创建git目录
##赋值密钥给p
###新建一个文件并写入密钥到里面
##进入git目录并赋权700权限给.ssh目录
##进入.ssh目录并赋值600权限给authorized_keys文件
上面的命令依次执行就好,那么基本的配置就算完成了!
###################################Linux平台###############################################
2.2.4:配置PULL和PUSH参数(包含windows平台)
2.2.4.1:首先在Git执行拉取指令
git pull
当出现这个提示的时候,我们就需要设置追踪分支了,单Master分支的话就是执行下面这个指令,语法如下
git branch --set-upstream-to=origin/${分支} master
因为我的只有master分支,所以只需要把变量改成我的master分支即可
git branch --set-upstream-to=origin/master master
执行之后,提示默认追踪master分支,然后再PULL一下
git pull
此时提示无数据更新,那么PULL(拉取)操作就配置结束了,下面配置push(推送)操作。
PUSH操作是在本地数据有更新的前提下才有意义,所以下面我以新建一个文件作为更新PUSH操作
新建一个Test.txt的空文本文件
touch.exe Test.txt
然后我们用git的状态查询指令
git status
从上面的提示可以看出,此时本地有了一个新添加的文件,建议使用git add <file>语法提交更改
下面开始添加
git add Test.txt
然后再查询Git本地状态
此时的状态是增加了一个新的文件,下面开始将其放置缓存区
git commit -m "增加一个测试文件"
此时提示创建了一个记录,然后就可以提交了
git push
这时候去仓库后台看看,可以看到两分钟前有一个提交记录
那么到这里Git最基本的提交配置就算是完成了 。如果在提交的时候提示
git config --global user.email
git config --global user.name
那么就需要在项目根目录执行下面的命令配置全局用户及邮箱了,如果顺利提交那就不用管
read -p "请输入你的邮箱地址" em&&git config --global user.email "$em"
read -p "输入用户名" Y&&git config --global user.name "$Y"
到这里git就配置完成了,下面附上一次实践记录。
1.编辑(新建)一个Test.sh脚本文件
2.增加脚本内容
3.添加至缓存区并推送
git commit -m "此次做了什么更改,在这里备注一下" ###对此次更改做一个描述
推送的命令就是
git push origin master
或者直接
git push
如果在add那步骤出错可以看下我这篇>>>>Git
去看看更专业的廖老师的博客
THE END