本次主要介紹與實踐課程息息相關的小組合作開發,通過github和git可以很好對小組成員的代碼進行管理。我邀請劉子義和我分別扮演合作中的項目經理和團隊成員兩種角色。
?
github與gitee哪個好、首先介紹一下github的主要功能:
(1)Git倉庫
(2)Organization(優點是可以統一管理和權限)
github開源項目,(3)Issue(是將一個任務或問題分配給Issue進行追蹤和管理,即每當進行Pull Request就會創建一個Issue)
(4)wiki(任何人都可以隨時保存一篇文章進行更改并保存)
(5)Pull Request (通過該功能向其他倉庫提出申請請求合并,送出后目標倉庫的管理者可以查看Pull Request的內容和及其包含的代碼更改)
github需要下載git嗎。?
Git和GitHub的關系:
Git的倉庫管理是GitHub的核心,Git屬于分散型版本的管理系統,是為了版本管理而設計的軟件,起因是Linux內核開發中使用的既有版本管理系統的開發方許可證發生了變化。為了更換新的版本管理系統才開發了Git。
github csdn。版本管理就是管理更新的歷史記錄,并且版本管理系統分為集中型和分散型。
集中型:將倉庫集中存放在服務器上,所以只存在一個倉庫,將所有數據集中存放在服務器中,有便于管理的優點,但是一旦開發者所處的環境不能連接服務器,就無法獲取最新的源代碼,開發也就無法進行。萬一服務器故障導致數據消失,開發者就會見不到最新的代碼。
分散型:GitHub將倉庫Fork給了每一個用戶,就是將某一個特定倉庫復制到自己的賬戶下,Fork出的倉庫與原倉庫是兩個不同的倉庫開發者可以隨意編輯。
github和git、雙方都有優缺點但是只要規則制定的好分散型也可以向集中型那樣進行管理。
?
利用github和git進行合作開發
Master篇:
一、github端創建倉庫
進入初始頁面,點擊創建項目(Start a project)
Ps:若未顯示此頁面,點擊左上角github圖標(貓頭)即可
?
?
創建倉庫,github會自動識別是否存在重名倉庫
審核通過,點擊創建倉庫(Create repository)
?
?
創建成功,生產鏈接
?
?
?
二、利用git向倉庫上傳文件
用git-hash登錄設置
?
?
建立本地倉庫
?
?
使用git自帶工具
?
?
點擊創建倉庫
?
?
?
在q1.txt文件處右鍵add git gui(之后存在重復操作)
上傳q1.txt,添加注釋“hello,world!”
點擊commit
?
?
?
?
?
上傳至github的倉庫
?
?
上傳成功
?
?
?
等待小組成員的修改操作
@1759132劉子義
小組成員向倉庫里創建文件
發出提交請求
?
?
允許合并:
?
?
更改完成:
?
?
@1759126劉子義對文件進行修改操作
?
?
允許合并
?
?
?成員篇:
員工篇:
- 搜索master上傳的項目。
在搜索框中搜索項目,格式為 master用戶名/倉庫名。
?
?
- 進入master已經建好的倉庫。
點擊紅色標記處進入倉庫
?
?
- 拷貝master倉庫中的文件。
點擊紅色標記“Fork”按鈕
?
拷貝結果:員工賬號中拷貝了master倉庫
?
?
- 查看倉庫中的文件。
倉庫中已有名為ql的txt文件,內容為“hello,world!”
?
?
- 員工修改master倉庫中的文件。
首先修改員工倉庫:點擊要修改的文件,進入文件,點擊圖表
?
?
修改:在第二行添加“hello”點擊下面的
?
?
此時員工倉庫的ql文件已修改,現在上傳給Boss倉庫
?
?
?
- 添加文件
當需要添加一個新文件而不是修改原文件時。先創建一個新的文件
?
?
添加文件內容:輸入“hello,world”
?
?
上傳給Boss新的文件:點擊完成后上傳
?
?
?
?
更改成功:
?
?
?附:git結合android studio
使用android studio中的vcs工具初次上傳初始代碼到一個新的遠程倉庫。
1、點擊AS菜單欄中【VCS】,選擇“Create Git Repository”,從而創建出與AS關聯該項目的一個本地倉庫。
圖1
2、點擊AS菜單欄中【VCS】,選擇“GIT”,接著選擇“Remotes...”,至此在彈窗中點擊加號新建關聯到遠程庫,在圖3的彈窗中,1處的名稱要記住了,后面會用到;2處是你遠程庫的鏈接地址。
圖2
圖3
3、選中要上傳的項目右擊,選擇“Git”,在選擇“Add”,在選擇“Commit Directory......”。
4、在AS的Terminal窗口中輸入命令:git branch --set-upstream master origin/master 。此命令中的“origin”就是步驟2中所提到的名稱;“?master”為遠程庫的分支名稱。
5、此步是因為遠程庫中有個"README.md"文件,而你的本地庫中沒有,所以用此步來合并代碼。在AS的Terminal窗口中輸入命令:git pull --rebase origin master。此命令中的“origin”就是步驟2中所提到的名稱;“?master”為遠程庫的分支名稱。
6、點擊工具欄中的同步代碼的圖標(向上的箭頭),要選擇"commit and push"。
至此已經將代碼同步到了遠程庫中。