Git小白初级教程
一、新建仓库,并更新代码到本地的操作步骤:
1.首先初始化一个仓库(本地的)
$git init
tip :初始化之前首先要建一个你要初始化的文件夹即:mkdir menu_name,然后在git init
2.配置gitlab远程地址
①配置公钥密钥,具体步骤参见分割线下方ssh协议配置步骤,如果之前已经创建过,忽略此步骤
②公钥密钥已经设置好,直接添加远程url地址,和远程添加连接(不做本步骤的话,本地的是本地的,远程的是远程,之间没有办法进行关联,无法完成代码pull,push等操作)
$git remote add origin [email protected]:test/ratatouille.git
其中[email protected]:test/ratatouille.git(想要建立联系的地址,即gitlab上显示的地址,如下图)
tip:通过git clone进行本地仓库创建的可忽略以上两个步骤,通过3中的命令可发现git clone命令已经将远程连接配置好
3.查看配置好的远程url地址
$git remote -v或git config --list
git remote -v:返回一个 origin git@xxxxx和你想要建立联系的地址一样,即表明成功
git config --list:中remote.origin.url中地址显示和配置的一样即表示成功
tip:如果第一次不小心设置错了,可以下面的命令更改过来
$git remote set-url origin [email protected]:test/ratatouille.git
4.配置完成url,就可以进行代码的pull了,当前url下有两个分支,选择你想要pull到本地的分支名称
$git pull origin dev_ratatouille
5.查看所有分支情况
$git branch -a
6.如果需要另起分支进行操作的话
$git checkout branchname
tip:事先没有创建分支,此命令在切换分支的时候会自动创建分支
7.代码有修改,需要进行提交
①$git status
②$git add -A
③$git commit -m "提交代码的说明content"
8.代码提交至本地,需要提交至远程分支
$git push -u origin remote_branch_name
-u表示强制提交
ssh协议配置步骤
1,本地进入.ssh查看是否存在密钥对:xxx和xxx.pub
命令:cd ~/.ssh
2,如果不存在,使用ssh-keygen来创建
命令:ssh-keygen -t rsa -C "[email protected]"
例如:ssh-keygen -t rsa -C "[email protected]"
注解:
Enter file in which to save the key 输入保存秘钥的文件 直接enter即可
Enter passphrase (empty for no passphrase) 输入密码 直接enter即可
此时查看.ssh目录下可看到新增的一对秘钥id_rsa和id_rsa.pub
3,查看公钥
命令: cat ~/.ssh/id_rsa.pub
复制全部,包括后面的邮箱
4,添加到gitlab中
左侧栏Profile Settings → 左侧栏SSH Keys → 粘贴并Add key
5,创建config,端口为22可忽略这一步
命令:cat>~/.ssh/config
输入:
Host gitlab.xxx.com
User git
Port 458
IdentityFile /home/yourname/.ssh/id_rsa(替换成你的id_rsa所在的路径)
6,更改remote,设置远程分支的地址
使用git remote -v查看origin和upstream的url,把http更改为ssh地址,命令:git remote set-url origin(或者upstream) xxxx
例如:
git remote set-url origin [email protected]:xxx/server.git
7,验证是否设置成功
命令:ssh -T [email protected]
显示Welcome to GitLab, yourname! 代表成功。
二、修改远程分支
重命名远程分支的过程其实分为三步:
①删除当前远程分支
git push --delete origin dev(dev为当前需要被修改的远程分支名称)
②修改本地分支名称
git branch -m old_branch_name new_branch_name
③提交本地分支到远程
git push origin new_branch_name