gitHub學(xué)習(xí)筆記
- 學(xué)習(xí)鏈接
- 慕課網(wǎng)視頻課程:版本控制入門-搬進(jìn)Github
- Git北京:搬進(jìn)GitHub文本資料
- 總結(jié)
- 版本歷史線 commit
- Git最核心的操作對象是版本(commit),最核心的操作技巧是分支(branch)
- master本身只是一個指針肤晓,指向master分支上最新的一個版本
- 建立新的分支newBranch爷贫,與master主分支有相同的歷史線,并不是復(fù)制其歷史線补憾,而是將新分支作為一個新的指針漫萄,指向與master相同的最新版本處;
- 在新建的分支上盈匾,創(chuàng)建新的commit版本腾务,其分支的指針會指向新建立的commit版本位置,而原來的master指針不變化削饵;
- 切換分支時岩瘦,實(shí)質(zhì)是底層有一個名為HEAD的指針在不斷發(fā)生變換未巫,HEAD指針指向哪個分支,哪個分支就是當(dāng)前分支启昧;
- 切換到不同的分支后叙凡,工作樹(代碼)也會隨之變化;
- Pull Request翻譯過來叫“拉取請求”密末,意思是請求master分支去把其他分支的代碼拉取到master分支之上狭姨;
- 合并分支后:在master主分支的history中會多出被拉取的分支上的commit版本歷史,同時還會多出一個新的commit融合版本苏遥;記錄合并的信息;融合版本的特點(diǎn):同時有兩個parent commit
- 單詞:resolve conflicts 解決沖突
- 合并分支赡模,手動解決沖突田炭;
- 代碼沖突出現(xiàn)的情況:根本原因,是兩個版本同時對同一個地方進(jìn)行了修改漓柑,在pull Request拉取請求時教硫,系統(tǒng)不知道該聽誰的,所以需要人為決定留下哪個辆布;
- 新分支merge到主分支master上時瞬矩,不同版本commit之間代碼存在沖突;
- 本地倉庫分支和遠(yuǎn)程倉庫分支锋玲,數(shù)據(jù)傳遞時景用,不同版本commit之間代碼存在沖突;
- Github Flow: github工作流
- 含義:就是給一個項(xiàng)目開發(fā)新功能要走的幾步惭蹂。整個過程的核心是“拉取請求” 伞插。
- 步驟:
- 1)新建一個分支,開發(fā)新的功能盾碗;
- 2)代碼實(shí)現(xiàn)媚污,創(chuàng)建不同的commit版本,優(yōu)化代碼
- 3)拉取請求:Pull Request廷雅,代碼討論耗美,對代碼進(jìn)行審核優(yōu)化
- 4)討論結(jié)束,將代碼部署到新分支上
- 5)將新分支merge到主分支master上航缀,功能結(jié)束
- 團(tuán)隊(duì)協(xié)作開發(fā)項(xiàng)目
- 團(tuán)隊(duì)內(nèi)部: 可以對自己gitHub上的倉庫設(shè)置商架,給隊(duì)友添加權(quán)限;這樣隊(duì)友就可以將代碼push到自己倉庫中
- 給隊(duì)友添加權(quán)限 倉庫 =》settings =》 collaborators =》add collaborators
- 開辟一個新的分支芥玉,用于開發(fā)新的功能甸私,待開發(fā)完,pull Request到master主分支上飞傀。隊(duì)友之間可以在pull Request中交流修改代碼皇型;
- 項(xiàng)目團(tuán)隊(duì)開發(fā)
- 創(chuàng)建者owner诬烹,創(chuàng)建一個組織
- 組織中創(chuàng)建項(xiàng)目倉庫,給倉庫設(shè)置合作者/團(tuán)隊(duì)弃鸦,給其添加權(quán)限
- 權(quán)限種類:3類
- 1)Admin:read,clone,push,給倉庫添加成員
- 2)Write:read,clone,push
- 3)Read:read,clone
- 權(quán)限種類:3類
- 團(tuán)隊(duì)成員就可以通過設(shè)置的權(quán)限開發(fā)倉庫了
- 參考鏈接:
- 多人協(xié)作開發(fā):GitHub 實(shí)現(xiàn)多人協(xié)同提交代碼并且權(quán)限分組管理
- 團(tuán)隊(duì)開發(fā):團(tuán)隊(duì)開發(fā)
- 團(tuán)隊(duì)內(nèi)部: 可以對自己gitHub上的倉庫設(shè)置商架,給隊(duì)友添加權(quán)限;這樣隊(duì)友就可以將代碼push到自己倉庫中
- windows下生成github ssh key
- 目的:為了便于訪問github绞吁,要生成ssh公鑰,這樣就不用每一次訪問github都要輸入用戶名和密碼唬格;
- 步驟:
- 參考鏈接:windows下生成github ssh key
- 生成ssh
- 打開命令行家破,輸入命令:
ssh-keygen -t rsa -C "郵箱"
- 輸入秘鑰文件名字,注:如果默認(rèn)名稱购岗,則會默認(rèn)到指定路徑下生成文件汰聋,如果輸入名稱,必須輸入路徑喊积,否則烹困,就會在打開命令行的位置下生成文件;
- 輸入密鑰文件密碼乾吻,確認(rèn)密碼髓梅;
- 注:文件名和密碼可為空;
-
如下圖所示生成ssh
- 生成兩個文件:id_rsa和id_rsa.pub,這兩個就是SSH Key的秘鑰對绎签,id_rsa是私鑰枯饿,不能泄露出去,id_rsa.pub是公鑰诡必,可以放心地告訴任何人:
- 打開命令行家破,輸入命令:
- 激活ssh
- 輸入命令:
eval "ssh-agent -s"
如圖:ssh - 再輸入命令
ssh-add ~/.ssh/密鑰名稱
,再輸入設(shè)定的ssh密碼奢方,再輸入ssh-add ~/.ssh/密鑰名稱
;可能會產(chǎn)生could not open a connection to your authentication agent
錯誤;如圖:ssh - 再直接輸入
ssh-agent bash
爸舒,再輸入ssh-add ~/.ssh/密鑰名稱
即可
- 輸入命令:
- 記事本打開
.pub
文件袱巨,復(fù)制密鑰,綁定到github上碳抄;步驟:登錄github => Settings => SSH and GPG keys => New SSH key
- 測試:
- 輸入命令:
ssh -T git@github.com
,如圖愉老,說明已經(jīng)完成;success
- 輸入命令: