GitHub 基本常用知识解答
?
fork的意思是從別人的代碼庫中復制一份到你自己的代碼庫,與普通的復制不同,fork包含了原有庫中的所有提交記錄,
fork后這個代碼庫是完全獨立的,屬于你自己,你可以在自己的庫中做任何修改,當然也可以通過Pull Request向原來的庫提交合并請求。
?
順便說一下Watch和Star:
-
Watch,意思是關注,關注后,代碼庫中有新的commit你都會收到通知;
-
Star,與watch不同,star相當于收藏,你可以方便地找到你star過的庫,但是不會收到關于那個庫的任何通知。???
?
2、gitHub 上的SSH公鑰 是什么意思 ?
???? 作用:使用SSH公鑰可以讓你在你的電腦和Git@OSC通訊的時候使用安全連接
????
通常,通過ssh登錄遠程服務器時,使用密碼認證,分別輸入用戶名和密碼,兩者滿足一定規則就可以登錄。但是密碼認證有以下的缺點:
- 用戶無法設置空密碼(即使系統允許空密碼,也會十分危險)
- 密碼容易被人偷窺或猜到
- 服務器上的一個帳戶若要給多人使用,則必須讓所有使用者都知道密碼,導致密碼容易泄露,而且修改密碼時必須通知所有人
而使用公鑰認證則可以解決上述問題。
- 公鑰認證允許使用空密碼,省去每次登錄都需要輸入密碼的麻煩
- 多個使用者可以通過各自的密鑰登錄到系統上的同一個用戶
?公鑰認證的原理
所謂的公鑰認證,實際上是使用一對加密字符串,一個稱為公鑰(public key),任何人都可以看到其內容,用于加密;
另一個稱為密鑰(private key),只有擁有者才能看到,用于解密。通過公鑰加密過的密文使用密鑰可以輕松解密,但根據公鑰來猜測密鑰卻十分困難。
ssh 的公鑰認證就是使用了這一特性。服務器和客戶端都各自擁有自己的公鑰和密鑰。
為了說明方便,以下將使用這些符號。
| Ac | 客戶端公鑰 |
| Bc | 客戶端密鑰 |
| As | 服務器公鑰 |
| Bs | 服務器密鑰 |
在認證之前,客戶端需要通過某種方法將公鑰 Ac 登錄到服務器上。
?
認證過程分為兩個步驟。
?
3、.gitignore文件
.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要并且很實用的文件。
一般我們寫完代碼后會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。
我們在git status的時候會看到很多這樣的文件,如果用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。
這時我們就需要.gitignore了。比如一般c#的項目我的.gitignore是這樣寫的:
?
4、???Git fetch和git 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
2.?git pull:相當于是從遠程獲取最新版本并merge到本地
??? git pull origin master
??? 上述命令其實相當于git fetch 和 git merge??? 在實際使用中,git fetch更安全一些因為在merge前,我們可以查看更新情況,然后再決定是否合并
總結
以上是生活随笔為你收集整理的GitHub 基本常用知识解答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 首页图片轮播
- 下一篇: 苹果开发基础知识