作者:愛(ài)你所AI來(lái)源:CSDN原文:https://blog.csdn.net/zzqhello2018/article/details/82354900版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
一.Git是什么
版本控制工具!Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒(méi)有之一)。
這個(gè)軟件用起來(lái)就應(yīng)該像這個(gè)樣子,能記錄每次文件的改動(dòng)

這樣,你就結(jié)束了手動(dòng)管理多個(gè)“版本”的史前時(shí)代,進(jìn)入到版本控制的20世紀(jì)。
二.Git發(fā)展史
cvs --svn
在2002年以前,世界各地的志愿者把源代碼文件通過(guò)diff的方式發(fā)給Linus,然后由Linus本人通過(guò)手工方式合并代碼!你也許會(huì)想,為什么Linus不把Linux代碼放到版本控制系系統(tǒng)呢?不是有CVS、SVN這些免費(fèi)的版本控制系統(tǒng)嗎?因?yàn)長(zhǎng)inus堅(jiān)定地反對(duì) CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用。有一些商用的版本控制系統(tǒng),雖然比CVS、SVN好用,但那是付費(fèi)的,和 Linux的開(kāi)源精神不符。
Linus花了兩周時(shí)間用C寫(xiě)了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!Git迅速成為最流?的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開(kāi)源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無(wú)數(shù)開(kāi)源項(xiàng)目開(kāi)始遷移到GitHub,包括jQuery,PHP,Ruby等等。
三.git運(yùn)行方式
1.集中式VS分布式
Linus一直痛恨的CVS及SVN都是集中式的版本控制系統(tǒng),而Git是分布式版本控制
(1)集中式版本控制系統(tǒng)
版本庫(kù)是集中存放在中央服務(wù)器的,你干活的時(shí)候,用的都是自己的電腦,所以要先從 中央服務(wù)器取得最新的版本,然后開(kāi)始干 活,干完活了,再把自己的活推送給中央服 務(wù)器。中央服務(wù)器就好比是一個(gè)圖書(shū)館,你要改一本書(shū),必須先從圖書(shū)館借出來(lái),然后 回到家自己改,改完了,再放回圖書(shū)館。集中式版本控制系統(tǒng)最大的弊端就是必須聯(lián)網(wǎng) 才能工作,如果在局域網(wǎng)內(nèi)還好,速度夠快,可如果在互聯(lián)網(wǎng)上,遇到網(wǎng)速慢的話,可 能提交個(gè)10M的文件就需要5分鐘,這還不得把人給憋死啊。
(2)分布式版本控制系統(tǒng)根本
沒(méi)有“中央服務(wù)器”,每個(gè)?的電腦上都是一個(gè)完整的版本庫(kù),這 樣,你工作的時(shí)候, 就不需要聯(lián)網(wǎng)了,因?yàn)榘姹編?kù)就在你自己的電腦上。既然每個(gè)認(rèn)電腦上都有個(gè)完整的版 本庫(kù),那多個(gè)人如何協(xié)作呢?比如說(shuō)你在自己電腦上改 了文件A,你的同事也在他的 電腦上改了文件A,這時(shí),你們倆之間只需把各自的修改推送給對(duì)方,就可以互相看到 對(duì)方的修改了。和集中式版本控制系統(tǒng)相比,分布式版本控制系統(tǒng)的安全性要好很多, 因?yàn)槊總€(gè)電腦里都有完整的版本庫(kù),某個(gè)人的電腦壞掉了不要緊,而集中式版本控制 系統(tǒng)的中央服務(wù)器要是出了問(wèn)題,所有人都沒(méi)法干活了 。
git運(yùn)行方式如圖

2.工作區(qū)和暫存區(qū)
Git和其他版本控制系統(tǒng)如SVN的一個(gè)不同之處就是有暫存區(qū)的概念
工作區(qū)(Working Directory):就是你在電腦?能看到的目錄,
版本庫(kù)(Repository):工作區(qū)有個(gè)隱藏目錄“.git”,這個(gè)不算工作區(qū),而是Git的版本
庫(kù),Git的版本庫(kù)存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還
有Git為我們主動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。
我們把文件往Git版本庫(kù)中添加的時(shí)候,是分兩步執(zhí)行的:
第一步是用“git add”把文件添加進(jìn)去,實(shí)際上就是把文件修改添加到暫存區(qū);第二步 是用“git commit”提交更改,實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。因?yàn)?我們創(chuàng)建Git版本庫(kù)時(shí),Git主動(dòng)為我們創(chuàng)建了唯一一個(gè)master分支,所以,現(xiàn)在, commit就是往master分支上提交更改。你可以簡(jiǎn)單理解為,需要提交的?件修改通 通放到暫存區(qū),然后,一次性提交暫存區(qū)的所有修改。
四.常用git服務(wù)器
1.github==全球最大的開(kāi)源網(wǎng)站
2.碼云==免費(fèi)的,國(guó)內(nèi)的
3.coding==國(guó)內(nèi)的
####五.安裝Git
1.Linux系統(tǒng)安裝GIt
(1)方法一:yum安裝
yum search Git===查看是否有g(shù)it如果有就下載
Git --version====查版本
下最新版本官網(wǎng):git-scm.com
注意:默認(rèn)yum install git 安裝的為git 1.7.1版本
coding上面讓要使用的git版本為1.8.0以上,而且這個(gè)版本clone的時(shí)候有錯(cuò),所以需要手動(dòng)安裝git
(2)方式二:手動(dòng)安裝git
1、安裝git依賴包
????????yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
2、刪除已有的
????????git yum remove git
3、下載git源碼
????????wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz
????????tar -zxvf git-2.8.3.tar.gz
????????cd git-2.8.3
????????./configure prefix=/usr/local/git/
????????make && make install
4、將git指令添加到bash中,添加到環(huán)境變量中
????????vi /etc/bashrc? ?
????? ? 在最后一行介入
????????export PATH=$PATH:/usr/local/git/bin source /etc/bashrc 即可
? ? ? ? git --version git已經(jīng)安裝好,可以查看git版本?
2.window中安裝
這里我們演示W(wǎng)in系統(tǒng)的安裝,暫不考慮linux系統(tǒng)
下載安裝客戶端,安裝成功檢查是否安裝是否成功
**方法一:桌面右擊鼠標(biāo)出現(xiàn)git bash here**
????????在界面中輸入git --version顯示版本
**方法二:運(yùn)行cmd中輸入git --version顯示版本**
六、Git操作(以Github網(wǎng)站為例)
1.注冊(cè)并登錄Github網(wǎng)站
常規(guī)注冊(cè),注意一點(diǎn)需要郵箱認(rèn)證,否則不能創(chuàng)建項(xiàng)目
2.Github上創(chuàng)建倉(cāng)庫(kù)
????(1)新建一個(gè)倉(cāng)庫(kù)(Repositories),填寫(xiě)項(xiàng)目名和項(xiàng)目說(shuō)明,創(chuàng)建成功會(huì)生成一個(gè)網(wǎng)址
3.獲取項(xiàng)目—從服務(wù)器(云端)獲取項(xiàng)目到本地
本地找一個(gè)文件夾存放文件,然后右鍵打開(kāi)git執(zhí)行下面代碼,可將自己或者別人項(xiàng)目拿到本地
git clone https地址====將倉(cāng)庫(kù)克隆到本地
注意:【創(chuàng)建ssh密鑰】也可以在之前創(chuàng)建
創(chuàng)建的目的是為了保證安全性,只有具有密鑰的管理員才可上傳,其他人只可以下載
git中輸入指令可以生成密鑰===ssh-keygen,生成私鑰id_rsa和公鑰id_rsa.pub
將公鑰粘貼到網(wǎng)站中的


4.下拉項(xiàng)目更新本地
????在本地看到服務(wù)器最新的代碼(更新修改情況)
git pull ==== 從服務(wù)器更新代碼
5.本地推送到服務(wù)器
先在本地實(shí)施版本控制,即創(chuàng)建版本庫(kù),又叫倉(cāng)庫(kù)(repository)
????(1)創(chuàng)建倉(cāng)庫(kù)(版本庫(kù)),選擇一個(gè)合適的位置創(chuàng)建一個(gè)空目錄
mkdir +文件名 #文件名和路用英文,文件編輯可用notepad++
cd 文件名? ?
????(2)進(jìn)入目標(biāo)文件夾(想推送的文件所在文件夾)
git init 初始化Git倉(cāng)庫(kù),將這個(gè)目錄可以變?yōu)閭}(cāng)庫(kù)
git add +文件名 添加指定文件 (或者git add . 添加所有文件)
git status 查看當(dāng)前狀態(tài)
????(3)提交文件
git commit -m "我寫(xiě)的內(nèi)容原因"
(注意:提交原因必須寫(xiě),否則不能推送)
? (4)推送文件到服務(wù)器
git push
或者git push origin(服務(wù)器項(xiàng)目默認(rèn)名字) master
七.配置免密碼推送、
在網(wǎng)站上創(chuàng)建項(xiàng)目的時(shí)候會(huì)有兩種方式https和ssh
1、Linux中免密碼push和pull(使用https方式)
1、cd ~
2、vi .git-credentials
在里面寫(xiě)入? https://{username}:{password}@github.net
3、git config --global credential.helper store
2、windows系統(tǒng)中設(shè)置免密碼
windows下面的 ~ 就是這個(gè)目錄 C:\Users\ZBLi
【注】在windows下面創(chuàng)建以點(diǎn) 開(kāi)頭的文件,需要使用gitbash
打開(kāi)gitbash
然后和上面的操作一模一樣,完成后只有第一次需要輸入密碼
3、使用ssh方式免密碼登錄
1、使用 ssh-keygen 生成公鑰和私鑰,直接按3個(gè)回車即可
2、在? ~/.ssh/id_rsa.pub 里面的內(nèi)容復(fù)制到coding上面的個(gè)人設(shè)置公鑰中
3、git clone git@git.coding.net:phpmonkey/hehe.git? 即可
八、沖突解決
a和b同時(shí)修改同一個(gè)文件的同一行代碼就會(huì)產(chǎn)生沖突,如果a先push,那么b在push的時(shí)候就會(huì)報(bào)錯(cuò)。所以,為了保險(xiǎn)起見(jiàn),只要想向服務(wù)端push內(nèi)容,首先需要pull內(nèi)容,pull下來(lái)之后就會(huì)將服務(wù)端的代碼和本地的代碼進(jìn)行合并,如果有沖突,就會(huì)顯示沖突(git diff),如果沒(méi)有沖突,那就合并成功,然后再push上去即可,如果有沖突,商量解決沖突即可
git pull? ? 下拉文件
git diff? ? 查看沖突
九、分支學(xué)習(xí)
主分支:master,默認(rèn)分支
新建分支: git branch 分支名
查看分支: git branch
切換分支: git checkout 分支名
(實(shí)際項(xiàng)目中,每個(gè)人都要在自己的分支上工作,最后再合并到如果要在master
上面合并分支,需要先切回到master(master是默認(rèn)的主目錄)
合并分支: git merge +分支名字
刪除分支:git branch -d +分支名
(如果分支沒(méi)有合并不能刪除)
強(qiáng)制刪除: git branch? -D +分支名字
(如果分支沒(méi)有合并要?jiǎng)h除可以使用)
十、開(kāi)發(fā)步驟
一個(gè)master,一個(gè)dev
(1)新建一個(gè)dev
(2)切換到dev進(jìn)行開(kāi)發(fā)
(3)在dev添加文件并且提交文件
(4)切換到master分支
(5)將dev分支合并到master分支
? ? ? ? ? ? git merge dev
(6)推送master到服務(wù)端
(7)繼續(xù)切換到dev進(jìn)行開(kāi)發(fā)
十一、git常用操作小總結(jié)
git init ===== 建倉(cāng)庫(kù), 初始化Git倉(cāng)庫(kù)
git add 說(shuō)明.txt? =====? ? 把文件(這里指“說(shuō)明.txt")納入暫存區(qū)(還沒(méi)有真正納入版本控制,需要再一步確認(rèn))
git status =======查看暫存區(qū)狀態(tài)
git commit? -m '...'? 提交納入倉(cāng)庫(kù)(要寫(xiě)原因所以要加 -m)====git commit? -m? "說(shuō)明內(nèi)容"
注意:第一次提交需要先提交姓名和郵箱,否則會(huì)報(bào)錯(cuò)
git log? ===== 查看提交日志
git? checkout? - -? ====刪除文件還原:
git reset? -- hard? ? =====版本號(hào)碼(至少寫(xiě)五位)? ? ? 回到歷史版本號(hào)版本
git reflog? ? =======? 回到刪除的未來(lái)版本(過(guò)去將來(lái)時(shí))
十二、兩個(gè)小案例
1.在Linux本地做版本控制
(1)在用戶主目錄創(chuàng)建文件夾,命名為gitdemo====mkdir gitdemo
進(jìn)入文件夾cd? ? gitdemo--->ls查看
[root@izwz9ao2nl8wvmgaymeyr0z ~]# mkdir gitdemo
[root@izwz9ao2nl8wvmgaymeyr0z ~]# ls
abc? def? ? ? eakkkk.txt? git-2.18.0.tar? index.html? ? mycal.py? Python-3.6.5? ? ?
code? dump.rdb? git-2.18.0? gitdemo? ? ? ? index.html.1? mysql? ? Python-3.6.5.tar
(2) git初始化,將gitdemo文件夾變成git倉(cāng)庫(kù)==git init
[root@izwz9ao2nl8wvmgaymeyr0z ~]# git init
(3) 創(chuàng)建一個(gè)文本文件,命名為hello.txt,放入內(nèi)容==echo命令,用 >進(jìn)行重定向
echo"Hello,Git" > “hello.txt” 注意:輸出重定向符號(hào) >
=====將Hello,Git內(nèi)容顯示在hello.txt文件中,再次輸出內(nèi)容 不變
查看文件寫(xiě)好了沒(méi)有 cat hello.txt
可以再追加一點(diǎn)內(nèi)容
echo "goodbey world" >> hello.txt
(4)將內(nèi)容納入版本控制===git add+文件名
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git add hello.txt
完成這一步并沒(méi)有真正的納入版本控制,只是放到了暫存區(qū)(是隱藏文件)
通過(guò)命令ls -a 可以 查看該路徑下所有文件(包括隱藏文件,a代表all),看到隱藏文件…git
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls -a
.? ..? .git? hello.txt
【補(bǔ)充命令操作】
git rm --cashed +文件名 撤銷刪除文件( 內(nèi)容已經(jīng)放到暫存區(qū)了,把刪除的文件撤銷刪除,從暫存區(qū)拿回)
git checkout – hello.txt 工作區(qū)寫(xiě)的文件b還沒(méi)有放到暫存區(qū),把暫存區(qū)文件a拿回來(lái)回到工作區(qū),用暫行區(qū)內(nèi)容a覆蓋工作區(qū)內(nèi)容b(注意雙連接線兩側(cè)的空格)
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# rm hello.txt
rm: remove regular file ‘hello.txt’? y
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls? ? ? 此時(shí)文件顯示為空
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git checkout -- hello.txt
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls? ? 此時(shí)文件恢復(fù)回來(lái)
hello.txt
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# cat hello.txt
==查看一下文本內(nèi)容,也沒(méi)有丟失,重新恢復(fù)
Hello,Git
goodbey World
(5)提交到=====git commit -m?提交(-m的目的是要求寫(xiě)原因)
[root@izwz9ao2nl8wv]# git commit -m "新增了hello.txt文件"
1 file changed, 2 insertions(+)
create mode 100644 hello.txt
【注意】第一次提交前需要進(jìn)行全局設(shè)置,用戶名和郵箱,名字任意
[root@izwz9aor0z gitdemo]# git config --global user.email
"333@example.com"
[root@izwzymeyr0z gitdemo]# git config --global user.name "hao"
(6)【補(bǔ)充】–其他操作
????????每次提交會(huì)產(chǎn)生一個(gè)日志git log?====查看日志
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log
commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)
Author: hao <333@example.com>
Date:? Mon Jul 30 09:47:47 2018 +0800
? ? 新增了hello.txt文件
查看歷史版本=======git reset --hard?+版本號(hào)(最少5位)可以找到歷史版本
方法二:**git reset --hard HEAD^**======回到當(dāng)前版本的上一個(gè)版本
【例】對(duì)這兩種方法演示
步驟a: 先復(fù)制一個(gè)文件,這利用之前的code文件下的share_fish為例
注: Linux cp命令主要用于復(fù)制文件或目錄。
格式:?cp ./code/test/ newtest====將code目錄下的test文件復(fù)制到新目錄newtest
[root@iaymeyr0z gitdemo]# cp ../code/share_fish.py ./ 將分魚(yú)文件復(fù)制到當(dāng)前文件
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls
hello.txt? share_fish.py
步驟b: 添加share_fish文件,并查狀**態(tài)git add和git status命令**
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git add share_fish.py
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git status
On branch master
Changes to be committed:
? (use "git reset HEAD <file>..." to unstage)
new file:? share_fish.py
步驟c:提交----此時(shí)文件夾下增加了分魚(yú)文件,此時(shí)提交git commit -m
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git commit -m "新增了share_fish.py文件"
[master f6fb32a] 新增了share_fish.py文件
1 file changed, 22 insertions(+)
create mode 100755 share_fish.py
步驟d:查看日志git log,此時(shí)出現(xiàn)了兩個(gè)版本
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log
commit f6fb32a62450153c7213cd408c1aa1851268715d (HEAD -> master)
Author: hao <333@example.com>
Date:? Mon Jul 30 09:58:49 2018 +0800
? ? 新增了share_fish.py文件
commit 37e58587772d49119a14b68decc02ed155945d06
Author: hao <333@example.com>
Date:? Mon Jul 30 09:47:47 2018 +0800
? ? 新增了hello.txt文件
注意:最新的版本head指向誰(shuí)誰(shuí)就是最新版本
步驟e:回到剛才版本======git reset --hard HEAD^
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reset --hard HEAD^
HEAD is now at 37e5858 新增了hello.txt文件
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log
commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)
Author: hao <333@example.com>
Date:? Mon Jul 30 09:47:47 2018 +0800
? ? 新增了hello.txt文件
注意;此時(shí)回到了之前的版本,想查看剛才的分魚(yú)文件用git log 查看不到,需要用過(guò)去將來(lái)式git reflog查看
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reflog
37e5858 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
f6fb32a HEAD@{1}: commit: 新增了share_fish.py文件
37e5858 (HEAD -> master) HEAD@{2}: commit (initial): 新增了hello.txt文件
步驟f:現(xiàn)在想從目前為止恢復(fù)回來(lái)share_fish狀態(tài),不能用git reset --hard HEAD^了,需要用歷史版本號(hào),通過(guò)上面的代碼我們找到文件代碼為f6fb32a
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reset --hard f6fb32a
HEAD is now at f6fb32a 新增了share_fish.py文件
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls
hello.txt? share_fish.py
2.Linux本地和服務(wù)器項(xiàng)目做關(guān)聯(lián)(以coding網(wǎng)為例)
本地實(shí)施完想放到云端,(即本地做了版本控制,在云端建了項(xiàng)目)一般先在服務(wù)器將倉(cāng)庫(kù)建好,然后再克隆clone下來(lái),往里面加?xùn)|西。
(1)登錄coding新建項(xiàng)目,命名為gitdemo;生成項(xiàng)目的URL,復(fù)制一下
(2)加遠(yuǎn)端倉(cāng)庫(kù)
【命令】git remote add origin +url地址======關(guān)聯(lián)遠(yuǎn)端倉(cāng)庫(kù)(origin是默認(rèn)的)
root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git remote add origin https://git.coding.net/qingpingle/gitdemo.git
這樣本地和遠(yuǎn)端項(xiàng)目建立聯(lián)系
(3)配置環(huán)境變量(否則會(huì)報(bào)錯(cuò)):
進(jìn)主目錄 ---->s輸入vim .bash profile
在path后面添加====PATH=$PATH:/usr/local/python36/bin/usr/local/libexec/git-core
(4)將遠(yuǎn)端倉(cāng)庫(kù)的內(nèi)容pull到本地:
git pullhttps://git.coding.net/jackfrued/gitdemo.git master?
git pull =====從遠(yuǎn)端的master分支拉下來(lái)
將本地已經(jīng)實(shí)施了版本控制的內(nèi)容push到遠(yuǎn)端倉(cāng)庫(kù):
**【命令】git push origin master (注意第一次使用,需要-u,目的是為了本地和遠(yuǎn)端做合并)**
push? -u? (第一次要-u,這樣才能實(shí)現(xiàn)本地和遠(yuǎn)端的合并,下一次就不用 - u了)
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git push -u origin master Username for 'https://git.coding.net':
(5)部署公鑰(coding項(xiàng)目中左側(cè)部署公鑰選擇,將生成的密鑰可粘貼進(jìn)去)
【命令】ssh-keygen===生成密鑰對(duì)
輸入格式(注意空格和大小寫(xiě))=====ssh-keygen -t rsa -b 4096 -C"jackess@126.com"(郵箱地址)
注意: rsa(加密類型)
***4096(密碼的強(qiáng)度)**

此時(shí)在 cd /root/.ssh中會(huì)生成文件id_rsa
root@izwz9ao2nl8wvmgaymeyr0z ~]# cd .ssh
[root@izwz9ao2nl8wvmgaymeyr0z .ssh]# ls
authorized_keys? id_rsa? id_rsa.pub? known_hosts
cat id_rsa.pub
[root@izwz9ao2nl8wvmgaymeyr0z .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDerB2x/lVOBz5LjR+mhJpigcPXMSwHsiPdK81AKo7lagvP6250aNVoRTouhEaGtDg646CVTknXhF2L5nLMSLjCf3LwtOnu6/eI685LBJ/JCgyAdE73aBRR+mRLeQkRIAdPUy3oNOmnQ1UMX/TeJj3hBr+lDmxmNleSUle7TIl3hHDbQcNHTFnNgWAY4Qn/hujq6rp9fekd594YfuR8Ykd+tJjUHCteQElWRhSxckFQYbJ41d+XgugrVtO18PDZGEvkOTmimwzZylbwnCQDwbGiSDfXZZYuqNH0ZzyqJpyO9CUAh3GzVERuAsJM/f28VoyGRJQSwPivOXsVTgvGy/e4tDpYZ/BIcc03CArcxy8Ztvp2nJYXtca8EasDVwqXneB5nMQoYn2pJg5/SaPU+pPo+Nb4J6e1ea7WwcXjhgM3dpU3rhOko75ZPkX+RvaNH7jHrt5UXDO6uADKT7r9jnhhsznU41E+ifxXSZpg4nGS9DIKY2YyNUAiiQOpU0BsxrsZQTbue1gbbMN1/3CjkVTeX7nFVlBARpauQ3MSc8TwnFSm6CXnDbUfYkymzCzVAMJl7PhC6UQ8gHv4J+GychS/jkhbB2y9NPRTc1Bd6vG5anakRtG2DROOmVmFGQ0b9GegZ1FScL0MtNEwYsYqFrGQSeHp8opxVjsDeo6bOOI5Ww== SSSDAD@126.com
將公鑰粘貼到coding項(xiàng)目中“部署公鑰”
(5)克隆到本地并建分支
在coding網(wǎng)新建項(xiàng)目gitflow
復(fù)制Url
git clone +url=====克隆到本地
git branch new-cool-function(新分支名字) =====建分支,命名為new-cool-function
git checkout new-cool-function(分支名字) ====== 切換到分支(這里分支名字為new-cool-function)
git checkout -b issue -1120 =======創(chuàng)建并切換到這個(gè)分支,即如果沒(méi)有分支會(huì)直接建立這個(gè)分支(常用)
(實(shí)際項(xiàng)目中,每個(gè)人都要在自己的分支上工作,最后再合并到
如果要在master上面合并分支,需要先切回到master**(master是默認(rèn)的主目錄)**
git merge +分支名字 =======合并分支
git branch -d +分支名字======刪除分支
(如果分支沒(méi)有合并不能刪除)
git branch -D +分支名字====強(qiáng)制刪除
(如果分支沒(méi)有合并要?jiǎng)h除可以使用)