1.什麼叫git?什麼叫github?l兩者之間的差別?
git:和vss,svn一樣都是乙個分布式的版本控制系統,通過鏈結和相應的許可權認證之後,將自己本地的**push到遠端的倉庫中,或者將遠端的專案版本download到本地。在多人協作開發專案中起到至關重要的作用。
github:就是乙個管理**的平台,每個人擁有自己的乙個賬號,可以上傳自己的**進行版本管理。
1.2.深入學習之後結果:
2.github的使用:
2.1.什麼是git:是一款軟體,用來進行版本控制。是一套命令列工具。
什麼是github:乙個網戰,開源專案的託管平台。不管你開發什麼專案都有可能在github上找到現成的專案**進行參考。github提供視覺化介面。
github網戰+github客戶端進行操作和使用git版本控制的各種功能。本地編輯和除錯非常方便,我們如果使用git的話,需要使用命令列進行版本管理,我們也可以使用本地github客戶端進行版本管理。
對於乙個專案,我們先在自己的賬號下轉殖倉庫以及轉殖到本地的倉庫,進行修改之後pull request,對方接受你的request,則修改完成。
2.2.github的基本操作
1.新建倉庫
2.修改提交新版本
3.關注其他專案
4.刪除乙個現有得倉庫
5.重新命名乙個現有倉庫
2.2.3github記錄版本順序的原理
每個版本都有自己的乙個40位版本號,每個版本都儲存自己的版本號以及上乙個版本的版本號
2.3.svn和github的區別
svn:集中式的版本控制系統
github:分布式的版本控制系統
svn集中式的版本控制系統:有乙個**伺服器,它保留著已提交的版本,所有人都需要先download最新的版本修改提交。
github分布式的版本控制系統:所有的電腦上都有所有的版本,沒有 乙個**的伺服器,所做的修改只需要推送給對方就可以了。
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。
如果是git這種方式,每個開發的機器上都有歷史版本,git具有強大的分支管理。
2.4.github客戶端的使用
2.4.1.github訪問慢的解決辦法
2.github之所以訪問慢的問題:github的某些網域名稱被汙染了,我們可以通過修改本地的host檔案,將對應的ip和網域名稱進行繫結。
2.4.2.github客戶端安裝失敗的辦法
本地編輯修改
提交修改 (可以只選擇部分提交)
撤銷版本
提交到github上 同步
每次修改之後都要同步
2.4.4.github分支操作
1.github分支得簡單操作
建立分支,修改分支,提交分支,刪除分支(刪除遠端分支,刪除本地分支),修改預設分支
2.分支的作用
我們需要進行新的功能的開發,我們又不想動修改原來的版本,這時我們可以建立乙個新的分支,在新的分支上進行修改,這樣並不影響原來的分支。
3.分支的原理
乙個倉庫都有乙個預設得master分支
新建乙個分支
2.4.5.分支合併(遠端master和本地master不是相同的分支)
合併分支到master
update from master 從master更新分支
合併master到分支
pull request--> from ** to** -->在github**上的pull request上盡行merged
遠端master和本地master分支合併,也就是我們所說的同步sysc。
2.4.6.分支衝突
分支情況有一下兩種:說的
第一種分支融合不存在衝突,融合後結果如下:
這是乙個「融合版本」( merge commit )這個合併挺特殊,裡面一般沒有修改內容,它的作用主要是把兩個分支合併起來。怎麼合併的呢?把 master 的內容 sync 到 github.com 上,然後檢視一下這個 m
erge commit ,會發現它有兩個 parent 。merge之後,master分支指向了merge commit 也就自動擁有了 idea 分支上的c3
這個版本了。idea 分支一般這會兒就可以刪除了。
遠端和本地分支合併,如果如上,不是修改的相同部分,不會發生衝突,這樣我執行 sync,跟本地兩個分支合併是一樣的,一般也會生成乙個 merge commit,在本地客戶端和 github.com 上的歷史線都可以看到。
分支融合出現衝突,有以下兩種情況:
1.第二種分支情況,比如我們在新分支上開發著新的功能,這時master分支上有乙個bug需要修改,我們會到master分支上修改,commit之後再到新分支上修改,如果我們修改的不是相同的**,不會發生衝突。進行如下融合:
如果我們修改的是相同位置的**,則會發生衝突。git不知道應該聽誰的,只會把衝突得位置報出來,
test project for gitbeijing book
<<<<<<< head
bbb*****==
aaa>>>>>>> idea
修改衝突只需要將衝突的三行識別符號刪去,留下需要的版本。提交修改即可。
2.合併遠端分支衝突
在特定條件下,點 sync 按鈕兩個分支合併會不使用融合( merge )方式,而採用「變基」( rebase )方式,這樣最終不會生成乙個 merge commit 。但是達成的效果是一樣的,也是實現了兩個分支**的合併,處理衝突的方式也一樣,所以暫時不必深究。
3.團隊使用github協作流程(參考**:gitbeijing.com/flow/)
3.1. github 工作流程
1.建立乙個分支
2.為分支新增版本
3.開啟乙個pull request(拉取請求)(pull request的目的就是引發**審核和討論)
4.討論和**審核
5.合併分支,進行部署
3.2.具體團隊協作流程
1.為隊員建立乙個寫許可權(settings-->collaborators-->add)協作人員和建立專案人員具有相同的許可權
3.修改好之後,可以pull request :指出哪個分支和哪個分支進行對比,**對比會被標明,pull request 還需要新增一些解釋
4.需要進行版本融合,刪除原來的沒有用的分支
3.3.開源專案的開發流程
1.fork某乙個開源專案(拷貝)
2.再同步到本地,進行相應的開發
3.然後再pull request給專案的建立者 4.
GitHub使用教程
git安裝包 window 64位 右擊滑鼠選擇git bash進行配置 1 git config global user.name 自己設的使用者名稱 2 git config global user.email 自己的郵箱 1 建立庫 目錄 2 pwd 用於顯示當前的目錄 3 git init ...
github使用教程
一些實用基本的概念 主頁 建立個人賬號 注意郵箱一定要使用正確選擇倉庫 倉庫分為兩種,一種是社群版,免費。另一種是私有的,收費。驗證郵箱 專案的增刪查改,收藏。檔案的增刪查改 建立專案 建立專案 建立檔案 保留 演算法spring boot的部落格系統,halo部落格系統 web書城專案 別人的就別...
github使用教程
這篇教程主要講如何使用github的命令上傳 以及更新 預設電腦已經安裝了git軟體 一 建立倉庫 1 點選new repository,建立倉庫 填寫相關資訊 建立完成後會顯示這些命令 2 進入要上傳的資料夾,右鍵選擇git bash here 3 一次輸入這些 1 初始化 2git init34...