賬號信息
- 創建一個自己的GitHub賬號
- https://github.com/ 進入網址就會看到如下進行創建GitHub賬號
創建遠程庫
- 我這裏沒有設置其他選項,所以直接選擇了創建。
創建遠程庫地址別名
- git remote -v 查看當前所有遠程地址別名
- git remote add [別名] [遠程地址]
推送
- git push [別名] [分支名]
- 然後進入自己的GitHub就可以查到push的文件了
克隆
- git clone [遠程地址]
- 效果:
- 完整的把遠程庫下載到本地
- 並且上圖名爲huashan的文件夾中有 .git 文件【我們不需要自己對本地庫進行初始化,本地庫已經被初始化好】
- 創建 origin 遠程地址別名
團隊成員邀請
- 在需要邀請成員的項目中點擊Settings
- 點擊完Add collaborator,會出現如下圖所示的框圖,選擇Copy invite link,並且複製邀請鏈接,並將鏈接發送給成員【郵箱,微信,QQ都可以】
- 當成員使用自己的賬號登錄GitHub,後將鏈接複製到瀏覽器,會出現如下圖所示
- 點擊Accept invitation即可完成邀請
- 之後就可以在完成項目克隆的基礎上,可將修改的代碼提交到GitHub倉庫中
拉取
- pull = fetch + merge
- git fetch [遠程庫地址別名] [遠程分支名]
- fetch 只是把遠程的內容下載到本地,並沒有改變我們本地工作區的文件
- 如果想查看我們遠程下載的內容
- 命令:
- 【切換到oriain/master(這個根據你的別名oriain會不一樣)】git checkout origin/master
- 【查看抓取下來的文件】cat huashanjianfa.txt
- 【在切換會原先的master】git checkout master
- git merge [遠程庫地址別名 / 遠程分支名]
- 我們將遠程的master合併到本地的master
- git pull [遠程庫地址別名] [遠程分支名]
- 相當於fetch和merge同時進行
解決衝突
- 要點
- 如果不是基於 GitHub 遠程庫的最新版所做的修改【也就是說修改的是舊的版本,不是最新的,所以提交的時候會發生錯誤】,不能推送,必須先拉取,但是需要注意的是拉取得到的文件會使得當前master分支進入MERGING狀態【衝突狀態】,需要修改到自己滿意的狀態,之後再使用命令 git add 和 git commit 兩個命令,再使用命令git push [別名] [分支名] 將文件推送到遠程庫。
- 類比
- 債權人:老王
- 債務人:小劉
- 老王說:10 天后歸還。小劉接受,雙方達成一致。
- 老王媳婦說:5 天后歸還。小劉不能接受。老王媳婦需要找老王確認後再執行。
跨團隊協作
- Fork
- 團隊外的人員得到項目的URL連接,使用團隊外的人員登錄自己的GitHub賬號進入這個鏈接
- 點擊Fork,一定要團隊外的人員登錄這個URL
- 之後會顯示一個動畫,表示正在Fork
- 完成之後,在自己的項目中,就會看到自己Fork的項目
- 本地修改,然後推送到遠程
- git clone [遠程地址] 克隆到本地庫
- git commit -m "massage commit" [文件] 提交的本地庫
- git push [別名] [分支名] 推送到遠程庫
- 完成之後就可以到遠程庫查看文件已經被修改了
- Pull Request
- 至此團隊的外援工作就做完了,之後我們登陸團隊成員的GitHub賬號,並且進入到項目的路徑
- 之後兩人進入對話
- 對話
- 審覈代碼
- 查看文件具體所做的修改
- 沒有問題回到對話哪裏,會看到如下圖所示的框圖,進行代碼合併
- 合併代碼
- 點擊合併之後,會出現如下圖的框圖用來填寫本次操作的日誌信息
- 完成之後點擊Comfirm merge稍等即可
- 將遠程庫修改拉取到本地
- git pull [遠程庫地址別名] [遠程分支名]
SSH 登錄
- 進入當前用戶的家目錄
- $ cd ~
- 刪除以前的.ssh 目錄
- $ rm -rvf .ssh/
- 運行命令生成.ssh 密鑰目錄
- $ ssh-keygen -t rsa -C [email protected]
- [注意:這裏-C 這個參數是大寫的 C]
- 進入.ssh 目錄查看文件列表
- cd .ssh/
- 查看 id_rsa.pub 文件內容
- $ cat id_rsa.pub
- 複製 id_rsa.pub 文件內容,登錄 GitHub,點擊用戶頭像→Settings→SSH and GPGkeys
- New SSH Key
-
- 輸入複製的密鑰信息
-
- 回到 Git bash 新建遠程地址別名
- [email protected]:FutureLL/huashan.git【這個是SSH的地址】
- git remote add origin_ssh [email protected]:FutureLL/huashan.git
- 推送文件進行測試
- git push [別名] [分支名] 推送到遠程庫