? 1)在coding,github這些代碼托管網(wǎng)站上申請(qǐng)一個(gè)賬戶。
? 2)Linux平臺(tái)什么需要一個(gè)git,如ubuntu 需要 $ sudo apt-get install git,Windows平臺(tái)需要下載一個(gè)Git環(huán)境。
? 我申請(qǐng)的是coding,github雖然人數(shù)比較多,但是網(wǎng)速 很慢,而且有的時(shí)候某個(gè)地方網(wǎng)絡(luò)就不好使了,可能github用了某個(gè)機(jī)構(gòu)的服務(wù)器,而這個(gè)服務(wù)剛好被中國(guó)墻了,為了保證通暢和速度,國(guó)內(nèi)的coding還是滿足要求的。
? 要我理解,coding,Github這些代碼托管,都遵循Git的協(xié)議。這些網(wǎng)站只是提供服務(wù)器和接口。用Git的命令去訪問(wèn)這些coding,github這種代碼托管的服務(wù)器。
? 我以coding為例來(lái)記錄一下,我的配置。
? 在coding的網(wǎng)站上需要建立一個(gè)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)用來(lái)存儲(chǔ)項(xiàng)目代碼,建立項(xiàng)目好像就是簡(jiǎn)歷倉(cāng)庫(kù)。建立完倉(cāng)庫(kù)的時(shí)候,會(huì)得到一個(gè)網(wǎng)址,這個(gè)網(wǎng)址后綴以.git結(jié)尾,需要記住這個(gè)倉(cāng)庫(kù)網(wǎng)址。
? 創(chuàng)建項(xiàng)目之后,進(jìn)入到這個(gè)項(xiàng)目的代碼列表里,得到一個(gè)這樣以git結(jié)尾的網(wǎng)址 https://git.coding.net/coarlqq/V01_F2808.git
? 這個(gè)網(wǎng)址非常重要,后面在終端(windows是cmd)中要用。
? 我這幾天研究的是HTTPS協(xié)議下的,SSH協(xié)議還沒(méi)有研究,到時(shí)候用熟練之后看看SSH。
? 在網(wǎng)站上建立倉(cāng)庫(kù)之后,就要在本地建立對(duì)應(yīng)的倉(cāng)庫(kù)(一個(gè)文件夾),這個(gè)倉(cāng)庫(kù)可以是你的工程的工作空間,也可以是你建立的新文件夾,最好還是代碼的工作空間,Git最大的好處就是可以檢測(cè)到只被改動(dòng)的代碼,每次更新之后push到服務(wù)器上是被改動(dòng)的代碼,也就是會(huì)對(duì)文件的版本進(jìn)行檢測(cè)。
? 我這里把我的DSP開(kāi)發(fā)環(huán)境的CCSv7的工作空間作為本地倉(cāng)庫(kù)和服務(wù)器進(jìn)行同步。路徑/home/delvis/workspace/CCSv7,里面有我開(kāi)發(fā)的工程代碼。
? S1:打開(kāi)終端,切換到建立本地倉(cāng)庫(kù)的路徑,那么我就要輸入:
? ~ cd /home/delvis/workspace/CCSv7
? S2: 在該路徑下簡(jiǎn)歷一個(gè)說(shuō)明文檔,README.md文件,用來(lái)說(shuō)明項(xiàng)目的的介紹之類的。
? ~ touch README.md
? S3: 初始化倉(cāng)庫(kù)
? ~ git init
? 到此為止我們就建立了一個(gè)本地的倉(cāng)庫(kù)。
? 新建立的遠(yuǎn)程倉(cāng)庫(kù)沒(méi)有任何的代碼,現(xiàn)在就需要把本地庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)建立連接,完成本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)的上傳和下載,以及更新等等。
? S1: 使用git的add命令將待傳的文件加入到上傳列表。第一次的時(shí)候先不要傳那么多,先傳README.md單個(gè)文件。
? ~ git add README.md
? S2:更新說(shuō)明(每一次修改都有個(gè)commit說(shuō)明這個(gè)東西,你需要對(duì)這個(gè)說(shuō)明進(jìn)行修改,改一點(diǎn)點(diǎn)也可以,如果不該就沒(méi)辦法上傳)
? ~ git commit -m "first commit"
? S3:建立遠(yuǎn)程連接,后面從https開(kāi)始就是你在第一節(jié)申請(qǐng)的git那個(gè)網(wǎng)站。
? ~ git remote add origin https://git.coding.net/coarlqq/V01_F2808.git
? S4:使用push命令上傳剛才加入列表的文件
? ~ git push -u origin master
? S5: 如果是私有項(xiàng)目的話,需要按照提示輸入用戶名和密碼。如下圖所示,為從頭到位的幾個(gè)命令。
?
? 推送了README.md文件之后,我們進(jìn)入到coding的網(wǎng)站上,查看該項(xiàng)目的代碼,就可以看到我們上傳的md文件了。
?
? 上一步通過(guò)remote命令和遠(yuǎn)程庫(kù)建立了連接,數(shù)據(jù)都存儲(chǔ)在本地.git文件夾里面,下一次在對(duì)該倉(cāng)庫(kù)操作的時(shí)候就不需要進(jìn)行remote連接,只需要commit和push兩個(gè)命令,但是如果以后你在遠(yuǎn)程庫(kù)對(duì)項(xiàng)目進(jìn)行了名字的修改,就需要按照上面的方法重新配置。
? 如何上傳整個(gè)文件夾呢?
? S1:添加整個(gè)文件包含文件夾內(nèi)部文件所有的。(注意add 和 .之間有空格 add . 不是 add.)
? ~ git add .
? S2:修改發(fā)布聲明,命令一旦啟用,就會(huì)自動(dòng)調(diào)入VI編輯模式,
? ~ git commit -a
? 這個(gè)聲明必須有改動(dòng),否則不能上傳,就算你改一個(gè)字符都是可以的, 輸入i進(jìn)入編輯模式,隨便打一個(gè)字符然后按ESC進(jìn)入命令模式,輸入英文狀態(tài)下的冒號(hào):,輸入wq,之后保存且退出。這時(shí)候所有待上傳的文件都被選中了,這個(gè)時(shí)候git會(huì)自動(dòng)檢測(cè)本地和遠(yuǎn)程倉(cāng)庫(kù)代碼版本的不同。
? S3:上傳剛才被add標(biāo)記的文件
? ~ git push -u origin master
? 同樣會(huì)讓你鍵入用戶名和密碼。
?
? 然后就自己就開(kāi)始上傳了。
? 回到網(wǎng)站上,就可以看到剛才上傳的代碼。
? 使用clone命令下載已經(jīng)上傳的代碼。
? ~ git clone https://git.coding.net/coarlqq/V01_F2808.git
? 如果是本地機(jī)器,會(huì)自動(dòng)匹配路徑,如果是另一臺(tái)機(jī)器,需要你指定路徑。
? ~ git clone https://git.coding.net/coarlqq/V01_F2808.git /home/delvis/什么什么路徑
? 代碼就會(huì)自動(dòng)下載到這個(gè)路徑里面。
? 在cmd(終端)上切換到本地倉(cāng)庫(kù)的路徑,使用fetch命令。
? ~ git fetch origin master
從遠(yuǎn)程origin倉(cāng)庫(kù)的master分支下載代碼到本地的origin master'
? 把遠(yuǎn)程代碼下載下來(lái)和本地庫(kù)進(jìn)行合并
? ~ git merge origin master
聯(lián)系客服