使用github同步網站

deepwzh發表於2017-01-30

今天剛剛完成了自己的一個小專案,想把他上傳到伺服器上,想到到我使用的Visual Stdio Code具有git功能,於是想到使用github作為程式碼倉庫來同步程式碼。

大體步驟分為這幾步:建立遠端程式碼倉庫及原生程式碼倉庫,配置倉庫設定,修改並提交程式碼,伺服器同步程式碼

1.建立程式碼倉庫

首先登陸https://github.com,建立自己的程式碼倉庫,記住程式碼倉庫的地址,我這裡是

https://github.com/wzhxyz/uva.git

然後新建個目錄,執行一系列配置

 1 mkdir uva
 2 
 3 cd uva
 4 
 5 git init
 6 
 7 echo "UVA難度統計" >> README.md
 8 
 9 git add .
10 
11 git commit -m "first commit"
12 
13 git remote add origin "https://github.com/wzhxyz/uva.git"
14 
15 git push -u origin master

 

 

至此,程式碼倉庫配置完成,本地的程式碼也已經同步到遠端倉庫了

2.修改檔案並同步到遠端倉庫

Visual Stdio Code 支援git,於是我想把與github相連線。

執行 上述操作之後,git庫自然就初始化了

如果要提交更改,在訊息中寫上對這次更改的說明,提交,然後點選...,使用push同步到遠端倉庫

3.伺服器進行同步

使用clone 命令克隆遠端倉庫到本地

git clone "https://github.com/wzhxyz/uva.git"

 

使用pull命令同步更改

git pull 

 

另有我在別人的部落格上看到的同步命令的一個詳解,轉載如下

-----http://www.tech126.com/git-fetch-pull/     -------------------------------

---------------------------------------------------------------------------------------

Git中從遠端的分支獲取最新的版本到本地有這樣2個命令:
1. git fetch:相當於是從遠端獲取最新版本到本地,不會自動merge

git fetch origin master
git log -p master..origin/master
git merge origin/master

以上命令的含義:
首先從遠端的origin的master主分支下載最新的版本到origin/master分支上
然後比較本地的master分支和origin/master分支的差別
最後進行合併
上述過程其實可以用以下更清晰的方式來進行:

git fetch origin master:tmp
git diff tmp
git merge tmp

從遠端獲取最新的版本到本地的test分支上
之後再進行比較合併
2. git pull:相當於是從遠端獲取最新版本並merge到本地

git pull origin master

上述命令其實相當於git fetch 和 git merge
在實際使用中,git fetch更安全一些
因為在merge前,我們可以檢視更新情況,然後再決定是否合併

--------------------------------------------------------------------------------------------------

除此之外,有時會出現遠端倉庫和本地倉庫不一致的情況下無法pull的情況,具體怎麼產生的我還沒有完全搞明白,我臨時解決方案是先把矛盾檔案暫時轉移走

http://blog.csdn.net/lincyang/article/details/45269491

 

還有一點要注意,對於命令git rm  

git rm XXX 
git rm XXX --cached

第一行刪除XXX本地檔案和索引,第二行僅刪除索引,不要搞錯了

這篇文章說明了如何解決這個問題,特記錄於此

以上是我部署網站過程中的一個記錄,以備將來查閱和別人借鑑

相關文章