遠程倉庫(GitHub)
註冊github
github是一個免費的服務器,用戶可以直接在此網站上定義屬於自己的項目,github是免費開源的,個人學習使用是可以的。公司的項目管理會造成源代碼泄露等不安全問題,github上大多是開源代碼託管項目,個人隱私項目可以使用收費功能。github註冊方式很簡單,去github官網即可註冊:https://github.com,註冊完成之後登陸,要使用github還需要生成一個SSH Key後纔可以使用。
- 生成一個
SSH Key
,Windows平臺可以直接使用“git bash”命令窗口進行創建。 - 生成一個RSA編碼的KEY
ssh-keygen -t rsa -C "[email protected]"
註冊的時候提示輸入密碼,根據自己需要輸入密碼,完成之後會自動在用戶所在目錄下生成一個.ssh
的目錄,裏面會保存有兩個文件:私鑰(id_rsa)、公鑰(id_rsa.pub)。
- 打開github的設置頁面
- 選擇“SSH and GPG keys”按鈕,表示要增加新的key。找到id_rsa.pub文件的內容進行復制(不能改變任何內容)。
此時表示已經讓客戶端和GITHUB之間建立好了一個安全的鏈接,由於SSH的存在,GITHUB纔可以進行用戶的識別,保證操作的安全性。
添加遠程倉庫
只有存在倉庫,才表示用戶可以進行使用。現在目標是將保存在本地倉庫的文件發佈到服務器上。
在GITHUB上創建新的倉庫;
倉庫名可以根據自己愛好設置,然後創建倉庫,倉庫創建成功之後會給出兩種連接方式。
- SSH鏈接地址:[email protected]:shmilychan/hello.git
- HTTPS鏈接地址:https://github.com/shmilychan/hello.git
本地倉庫必須使用以上的地址纔可以發佈到github服務器上,以上是我個人的演示github地址,在使用時可以使用自己的github地址。
把GITHUB與本地倉庫相關聯
git remote add origin https://github.com/shmilychan/hello.git
此時已經和遠程倉庫之間建立了連接,由於本地倉庫內容沒有提交到遠程倉庫,遠程倉庫沒有任何內容。
把所有的內容推送到GITHUB倉庫中
git push -u origin master
以上代碼操作是將文件進行推送,由於是第一次推送,而且推送的爲master分支,使用-u
的參數將遠程的master和本地的master進行關聯。
本次操作使用的是https方式進行提交代碼,在操作過程中會要求用戶輸入自己的用戶名和密碼,也可以使用SSH方式進行提交,根據個人喜好選擇就可以了,完成後可以切換到GITHUB 上進行查看。
察看遠程服務器端已經存在的倉庫信息
git remote -v
這裏,我進行測試的時候建立了一個SSH的(test)鏈接,在執行
git remote -v
操作之前還需要切換到origin
倉庫,使用此命令git remote set-url origin https://github.com/shmilychan/hello.git
,在此,最好是刪除掉test倉庫,使用git remote rm test
進行刪除操作。
修改hello.java和demo.java
public class hello{
public static void main(String args[]){
System.out.println("hello world");
}
}
public class hello{
public static void main(String args[]){
System.out.println("hello world");
System.out.println("today is bad day");
}
}
此時所做的所有修改都屬於本地的修改,提交到服務器
git commit -a -m "change two files sysout content"
此時已經將更改內容提交到本地master分支上,然後進行客戶端向遠程倉庫服務器端進行代碼推送,執行成功就完成了本地代碼與服務器端代碼的同步工作。
git push origin master
克隆倉庫
實際在項目開發中,上面的執行過程是錯誤的操作過程,不能先在本地創建倉庫然後提交到遠程倉庫,正確的做法應該是先有遠程倉庫,然後在本地克隆此遠程倉庫。
在GITHUB上初始化一個新的倉庫
在這裏我自己創建的倉庫爲hello_world,創建倉庫選中“Initialize this repository with a README”表示自動爲用戶進行倉庫的初始化,並且會自動存在一個“README”的文件。
在本地磁盤上進行倉庫的克隆
git clone https://github.com/shmilychan/hello_world.git
克隆操作自己選擇磁盤目錄,建議不要選擇C盤即可,克隆到本地然後在進行相應的項目開發,修改提交。。。
D:\myproject>cd \
D:\>git clone https://github.com/shmilychan/hello_world.git
Cloning into 'hello_world'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.
一些常用的開源項目,開源框架都會在github上進行託管,要使用了可以直接進行克隆,比如mabatis
https://github.com/mybatis