Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(1)

0.幾個基本概念

本地倉庫: 本機上某個存放代碼的倉庫。
遠程倉庫: 碼雲服務器上的代碼倉庫。
重要提醒: 當咱們在本地操做(新增、刪除、修改)文件、目錄時,並將其提交(commit),就是提交到了本地倉庫。注意:全部的改動只是放到了本地倉庫,並無上傳到服務器的遠程倉庫。
怎麼將本地倉庫與遠程倉庫關聯起來呢?
需先將本地倉庫與遠程倉庫關聯起來,就可將本地倉庫中的對代碼的改動上傳到(push)遠程倉庫,也可從遠程倉庫將對代碼的代碼改動下載(pull)下來。
實驗室電腦與碼雲服務器的關係:html

  1. 爲了將實驗室的對代碼的改動push到碼雲服務器上,需將實驗室電腦的某個目錄創建成本地倉庫,而後關聯碼雲服務器上的遠程倉庫。就可將代碼文件加入(add而後commit)本地倉庫,而後再將本地倉庫的代碼改動push到碼雲上面遠程倉庫
  2. 回到宿舍,咱們可將碼雲上的遠程倉庫克隆(clone)到你的電腦上的本地倉庫,即在碼雲的遠程倉庫與你電腦上的本地倉庫創建了關聯,而後就可愉快地同步(上傳、下載)咱們的文件啦。

1.在碼雲上申請帳號並創建項目

http://www.javashuo.com/tag/git.oschina.net
新建項目
java

輸入項目名,選擇正確的項目語言
git

能夠看到新建的項目中有一個默認的README.md文件。
選擇HTTPS,點擊複製得到遠程項目倉庫地址,如https://git.oschina.net/zhrb/JavaLearn.git
瀏覽器

這時候就成功的創建了一個遠程倉庫。服務器

2.在本機安裝Git

到Git官網https://www.git-scm.com/ 下載Git客戶端
安裝過程當中幾個選項勾選.net

  • Use Git from the Windows Command Prompt
  • Checkout as-is, commit as-is
  • Use OpenSSH

3.在本機克隆項目遠程倉庫

3.1 配置git

git config --global user.name "你的名字"
git config --global user.email "你的Email"
名字會出如今你的代碼提交記錄中。Email應與你在碼雲上註冊的Email一致。3d

3.2 Clone項目

所謂的Clone,就是將遠程倉庫中的內容下載到本地倉庫
創建目錄,如c:\temp\git,進入項目目錄,而後執行git clone https://git.oschina.net/zhrb/JavaLearn.git
能夠看到JavaLearn目錄被下載下來。注意:這時候c:\temp\git實際上就是本地倉庫

這時候就成功地將本地倉庫與碼雲遠程倉庫關聯起來。而後就可在本地倉庫與遠程倉庫之間進行同步。code

3.3 編寫代碼並提交到本地倉庫

進入JavaLearn目錄,而後建立chpt01目錄,md chpt01
在chpt01目錄中新建HelloWorld.java
orm

使用下面兩條命令將全部改動(新建的目錄、新建的HelloWorld.java)添加到本地倉庫中。
git add -A,跟蹤文件、目錄的全部變化(建立、刪除、修改),將全部相關文件放在暫存區。git 2.0版本git add .也和git add -A同樣能夠跟蹤文件刪除。
git commit -m "這是一段註釋",將暫存區中的全部提交到倉庫中,並寫上一段註釋。htm

說明:

  1. 使用git add 你的文件名,能夠更精細的選擇要跟蹤的文件。
  2. git只能跟蹤文件,而不能跟蹤目錄。好比,你新建或者刪除一個空目錄,git是沒法跟蹤到這種變化。

其餘命令:
git log,查看提交記錄。其中commit 504d11....f365e是提交的id。
下面的add: HelloWorld.java表明此次提交所進行的操做。

git log使用說明:空格鍵、PageUp、PageDown翻頁,q退出。
git log --pretty=oneline:一行顯示,只顯示哈希值和提交說明。

如何給文件更名或者移動文件
新版的Git能監控到文件更名和移動。更名或移動後,直接add後再進行commit便可。

git status顯示中文亂碼:
git config core.quotepath false
建議:提交時不要使用中文。

3.4 將本地倉庫的內容提交到遠程倉庫

通過前面幾步,你新建的目錄與文件僅存在於本地倉庫。使用下面指令,可將本地倉庫內容推送到遠程倉庫。
git push origin master
默認狀況下,origin指向的就是你本地的倉庫託管在遠程倉庫的版本。
master,本地倉庫的master分支,也就是主分支。
第一次push的時候可能須要輸入用戶名密碼,請輸入你在碼雲上註冊的郵箱和密碼。

這時你使用瀏覽器打開碼雲相關項目頁面,會發現你新添加的目錄和文件已經上傳到服務器端。

3.5 將遠程倉庫最新的內容抓取到本地

回到你的宿舍,若是你的宿舍尚未與遠程倉庫關聯,請clone下來(參考步驟3.2)
若是你曾經關聯過,好比關聯後的本地倉庫在電腦中的d:\temp\dorm\JavaLearn
後來在實驗室,你還往倉庫中添加了Test.java。並使用git push origin master將Test.java上傳到服務器上,
你在宿舍怎麼下載這個Test.java呢?
可使用git pull或者git pull origin master。如圖,能夠看到Test.java已經被下載到本地。

可能存在的問題:pull時若是從服務器上下載下來Test.java文件和你本機上的Test.java有衝突,可能致使合併不成功。
可解決衝突後,從新合併。詳見參考資料

Git 使用常見問題
如何處理衝突

總結:

1.初次克隆倉庫,從未配置過的Git

git config --global user.name "你的名字"
git config --global user.email "你在git遠程倉庫註冊的Email"

git clone 你的git遠程倉庫的地址
//而後在相應目錄進行了修改、添加、刪除等操做

git add .
git commit -m "這是一段用於說明提交的信息"

git push origin master

2. 曾經克隆過倉庫,也配置過Git,如今須要把遠程倉庫的內容抓到本地

git pull
//而後在相應目錄進行了修改、添加、刪除等操做

git add .
git commit -m "這是一段用於說明提交的信息"

git push origin master

其餘參考資料

Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(2)
使用Eclipse Egit(圖形界面)與碼雲管理你的代碼
Git自助手冊

相關文章
相關標籤/搜索