本地倉庫: 本機上某個存放代碼的倉庫。
遠程倉庫: 碼雲服務器上的代碼倉庫。
重要提醒: 當咱們在本地操做(新增、刪除、修改)文件、目錄時,並將其提交(commit),就是提交到了本地倉庫。注意:全部的改動只是放到了本地倉庫,並無上傳到服務器的遠程倉庫。
怎麼將本地倉庫與遠程倉庫關聯起來呢?
需先將本地倉庫與遠程倉庫關聯起來,就可將本地倉庫中的對代碼的改動上傳到(push)遠程倉庫,也可從遠程倉庫將對代碼的代碼改動下載(pull)下來。
實驗室電腦與碼雲服務器的關係:html
push
到碼雲服務器上,需將實驗室電腦的某個目錄創建成本地倉庫,而後關聯碼雲服務器上的遠程倉庫。就可將代碼文件加入(add
而後commit
)本地倉庫,而後再將本地倉庫的代碼改動push
到碼雲上面遠程倉庫。http://www.javashuo.com/tag/git.oschina.net
新建項目
java
輸入項目名,選擇正確的項目語言
git
能夠看到新建的項目中有一個默認的README.md文件。
選擇HTTPS,點擊複製得到遠程項目倉庫地址,如https://git.oschina.net/zhrb/JavaLearn.git
瀏覽器
這時候就成功的創建了一個遠程倉庫。服務器
到Git官網https://www.git-scm.com/ 下載Git客戶端
安裝過程當中幾個選項勾選.net
Use Git from the Windows Command Prompt
Checkout as-is, commit as-is
Use OpenSSH
git config --global user.name "你的名字"
git config --global user.email "你的Email"
名字會出如今你的代碼提交記錄中。Email應與你在碼雲上註冊的Email一致。3d
所謂的Clone,就是將遠程倉庫中的內容下載到本地倉庫。
創建目錄,如c:\temp\git
,進入項目目錄,而後執行git clone https://git.oschina.net/zhrb/JavaLearn.git
能夠看到JavaLearn目錄被下載下來。注意:這時候c:\temp\git
實際上就是本地倉庫
這時候就成功地將本地倉庫與碼雲遠程倉庫關聯起來。而後就可在本地倉庫與遠程倉庫之間進行同步。code
進入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
說明:
git add 你的文件名
,能夠更精細的選擇要跟蹤的文件。其餘命令:
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
建議:提交時不要使用中文。
通過前面幾步,你新建的目錄與文件僅存在於本地倉庫。使用下面指令,可將本地倉庫內容推送到遠程倉庫。
git push origin master
默認狀況下,origin
指向的就是你本地的倉庫託管在遠程倉庫的版本。
master
,本地倉庫的master分支,也就是主分支。
第一次push的時候可能須要輸入用戶名密碼,請輸入你在碼雲上註冊的郵箱和密碼。
這時你使用瀏覽器打開碼雲相關項目頁面,會發現你新添加的目錄和文件已經上傳到服務器端。
回到你的宿舍,若是你的宿舍尚未與遠程倉庫關聯,請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 config --global user.name "你的名字" git config --global user.email "你在git遠程倉庫註冊的Email" git clone 你的git遠程倉庫的地址 //而後在相應目錄進行了修改、添加、刪除等操做 git add . git commit -m "這是一段用於說明提交的信息" git push origin master
git pull //而後在相應目錄進行了修改、添加、刪除等操做 git add . git commit -m "這是一段用於說明提交的信息" git push origin master
Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(2)
使用Eclipse Egit(圖形界面)與碼雲管理你的代碼
Git自助手冊