【git版本控制-筆記】by lijun
0.推薦學習網址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1. git SVN版本控制系統比較
git是分布式 SVN是集中式
2. github網站 上注冊賬號 下載桌面客戶端
注冊地址:https://github.com/signup/free
giuhub可視化軟件:https://desktop.github.com/ 下載安裝
3.實踐使用記錄
主要界面介紹
安裝完成后,桌面會出現兩個圖標
雙擊GitHub,進入主界面。
首先登陸:輸入GitHub賬號和密碼
登陸之后顯示主界面,此時可以跟着它的教程做一遍,熟悉大致流程:
接着是主界面的介紹,如下圖:
這里將對每個紅框的區域進行大致說明:
1. 這是新建功能,里面有:
Add 添加已創建的本地代碼庫
注意!如果在Create之前直接導入一個代碼庫(本地文件夾),會提示create a repository,點擊進入Create。不用更改,直接點擊下面的Create repository。
- 這時可能會自動幫你添加到Other部分(即上圖的3)。
- 也可能沒有任何變化,如果出現這種情況,請再次點擊Add選項。你會發現點擊Add repository也沒用。這時將Local path位置的路徑最后一個字母刪掉,接着補回來,這樣就可以成功Add了。(至於為什么要這么麻煩,我也不清楚,這個方法是我試出來的,如果你有其他更好的方法,分享一下吧)
- Create 創建新的本地代碼庫
Clone 從GitHub上下載已有的代碼庫
2. 這里是已經與GitHub同步的代碼庫。
3. 這里是本地的代碼庫。里面有:
- 沒有提交到GitHub的代碼庫
- 更改后未同步的代碼庫
4. 如果當前本地代碼庫有更改,會將更改的文件顯示在這里。這里只是緩存。
5. 如果想提交緩存里的修改修改到本地代碼庫,需要在這里填寫修改摘要(Summary)和詳細描述(Description)。然后點擊Commit to master,提交到本地代碼庫。
6. 如果按照上面的步驟提交到本地代碼庫,則可以看到那些文件都移動到這里了。此時提交到本地代碼庫完成。但是還需要將其同步到GitHub上面。
7. 上面4-6都是在這里的紅框選項卡內。這里表示最新情況。
8. 與上面7不同的是,這里表示提交歷史。也可以通過選擇下面的master上的圈圈來查看歷史提交。
9. 請求合並。如果你從其他人的GitHub上Fork代碼庫到你的GitHub並進行修改,又希望其他人將你的代碼與他的合並,可以提交請求。如果審核通過,那么你成為這個項目的貢獻者之一。
10. 與上面9不同的是:這里將你的代碼與你所參與的項目(有寫權限)進行同步(Sync)。如果是是第一次提交代碼庫,這里顯示的是Publish。
操作部分,以Helloworld為例:
-
如果先在GitHub中創建好了代碼庫,那么先用Clone功能,將代碼庫Clone到本地。此時會將其顯示在上圖的2中。
-
找到該代碼庫的本地位置。右鍵-》Open in Explorer。
-
把用Android Studio或其他IDE創建的Helloworld項目移動到這個文件夾內。
-
在上圖7,可以看到發生了變化。接着按照上面5-》6-》10,將項目同步到GitHub上。
五、其他功能
1 分支
- 左邊表示新建一個分支(branch),從當前的master中另外分出一個支線。
- 右邊可以切換分支
2 設置
選項 | 功能 |
---|---|
Undo most recent commit | 如果上面的第5中,Commit之后又想撤銷,則點擊。 |
Delete master... | 如果創建了新分支,又想刪除,則點擊。 |
Reponsitory settings... | 當前代碼庫的設置。 |
Open in Explorer | 在資源管理器中打開當前項目。 |
Open in Git Shell | 用命令行模式打開。 |
View on GitHub | 到GitHub上查看。 |
Options... | 軟件的設置。 |
3 版本回退
在某個代碼庫的History選項卡下,是該代碼庫每次提交的情況。左邊最上面的版本是最新版,最下的是初始版本。
-
左邊上面的紅框表示版本回退,Revert "Game EightDigit",回退到Summary為Game EightDigit的版本。
-
版本回退操作,只需選定某個版本,點擊右邊紅框處的Revert即可。該Revert可以跨版本回退,不用一步步回退。
Note: GitHub Desktop之前的版本好像是把它區分開。分為
- Roll Back to this Commit
- Revert this Commit