Git小白初級教程
一、新建倉庫,并更新代碼到本地的操作步驟:
1.首先初始化一個倉庫(本地的)
$git init
tip :初始化之前首先要建一個你要初始化的文件夾即:mkdir menu_name,然后在git init
2.配置gitlab遠程地址
①配置公鑰密鑰,具體步驟參見分割線下方ssh協議配置步驟,如果之前已經創建過,忽略此步驟
②公鑰密鑰已經設置好,直接添加遠程url地址,和遠程添加連接(不做本步驟的話,本地的是本地的,遠程的是遠程,之間沒有辦法進行關聯,無法完成代碼pull,push等操作)
$git remote add origin? git@47.100.169.57:test/ratatouille.git
其中git@47.100.169.57: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?git@47.100.169.57: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 "youremail@youremail.com"
例如:ssh-keygen -t rsa -C "zhouting@yoohoor.com"
注解:
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 git@gitlab.xxxx.com:xxx/server.git
7,驗證是否設置成功
命令:ssh -T git@.47.100.169.57
顯示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