如何使用Github实现协同工作
如何使用Github實現協同工作(例子:兩人合作寫代碼)
Github 可以滿足多人協作開發項目的需求。在這里我簡單記錄一下如何兩人合作完成代碼。
方法一:邀請協同開發
這種方法邀請者和被邀請者有幾乎相同的權限,被邀請者的push 操作無法被拒絕。邀請者和被邀請者使用同一個repository。
首先兩個人(userA 和 userB)都需要有各自的github 賬號,其中userA 邀請userB 來共同開發, 具體操作步驟如下:
第一步:邀請
userA 登入GitHub以后可以選擇新建一個repository,將想要共同完成的工程上傳,然后在當前repository的setting中,選擇Collaborators,search user B, 向他發送合作邀請,當userB同意后,他就會出現在Collaborators欄目下(如下圖所示)。
ps: userB的邀請信息以郵件方式發送給userB的注冊郵箱,userB可以在那封郵件中點同意邀請
第二步: userB 修改代碼
這里userB 首先需要下載一個git bash,下載完成后在電腦里會顯示如下圖,
點擊Git Bash,
第一件事是登錄自己的GitHub賬號,輸入
git config --global user.name “Your Name”(注意前邊是“- -global”,有兩個橫線)
git config --global user.email “email@example.com”
登入以后,userB 可以將需要共同完成的工程clone 到本地,在git Bash 中輸入
git clone https://github.com/userAname/repository_name
這樣子會把工程下載到命令行對應的目錄下,win+R >cmd 查看命令行地址,如果想改變clone的工程的存放地址,可以輸入
git clone https://github.com/userAname/repository_name D:/clone_file
其中“D:/clone_file”就是你想存放clone 工程的地址(請確保這個文件夾是空的,不然會出現fatal: destination path ‘D:/clone_file’ already exists and is not an empty directory.)
clone完成后,userB 就可以在本地修改工程內容了。
第三步,userB上傳修改內容
當userB 完成修改后就可以提交了,首先到 D:/clone_file,右擊這個文件夾,選擇 Git Bash here,
然后在git Bash 中按第三步的方式登入GitHub,如果想看看自己修改了哪些部分,可以輸入
git commit
上傳修改,輸入
git commit -a -m “change2” 或者
git add .
git commit -m “change2”
之后再輸入 git push,就可以把修改上傳到服務器,這時候userA 就可以看到自己GitHub 上面的項目更新了,如圖:
如果userA 想把userB的修改更新到本地的話, 同樣打開git Bash,登入GitHub賬戶,輸入git pull,修改到本地。
同樣,如果userA 修改了內容,userB 也可以使用git pull,把修改更新到本地。
方法二:fork倉庫同步/pull
這個方法userA 和userB 使用不同的repository, 代碼安全性高,但是管理好復雜。
第一步:fork 代碼 clone 到本地
userA 新建了repository,上傳了工程,邀請了userB以后,userB接受邀請以后,可以在GitHub上點擊fork
把工程復刻到自己的repository中。然后再和上面一樣,在git Bash 中把工程clone 到本地。但要注意的是,假設 repository name 為 test, 這里如果clone到本地 D:/clone_file 中,實際存放在 D:/clone_file/test 下,在git Bash 中要進入 test 文件夾下才能進行push 操作,進入該文件夾 輸入 cd D:/clone_file/test。
第二步: 修改并上傳
這里userB修改和上傳的操作和前面的一樣,但是這里要注意的一個問題是,當userB 做完修改,想要git push 的時候,可能會出現這樣的錯誤
解決辦法是:
在git push 之前,先輸入
git config --global --edit
然后在顯示出的內容的最后輸入(按 i 開始輸入)
[credential]
helper = username
useHttpPath = true
然后按 alt + c 推出輸入,英文模式下 按 “:wq” 退出。
然后再輸入git push 將修改上傳到服務器。不過這些改動只會上傳到userB 的repository中,不會更改user A的repository。
第三步: 發起pull request
如果userB 希望自己的改動能同步到userA的工程中,就需要在Github 的repository 中發起pull request。
userA 就會在自己的Github上接收到pull request,(request 為0 是因為我把它處理了)
點進去就可以選擇把userB 的修改merge 到自己的repository中。
總結
以上是生活随笔為你收集整理的如何使用Github实现协同工作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fanuc数据控机床数据采集Focus2
- 下一篇: Awk 20 分钟入门介绍