本文推薦 PC 端閱讀~
本文版權歸 「公衆號 | 前端一萬小時」 全部,未經受權,請勿轉載!
複製代碼
本知識點常見於「招聘要求」中——熟練使用 git。
複製代碼
前言: 在上一篇《Git 和 GitHub——① Git、GitHub 初認識》中,咱們明白了版本控制的重要性,也初步認知到了 Git、GitHub 會一直伴隨咱們的前端學習和工做之路。
上一篇中咱們學到了怎麼從 GitHub 上克隆一個已有的項目到本地倉庫。那麼與之相反的操做,若是咱們先建立了本地倉庫且項目進行中,那咱們再把這個倉庫遠程推送到 GitHub上 是否可行呢?
還有一個疑問,既然 Git 是新時代的分佈式版本控制系統,而 GitHub 又是一個經過 Git 進行版本控制的軟件源代碼託管服務平臺。那咱們一個團隊進行多人合做開發項目時,咱們又該如何操做呢?
如下,讓咱們動起手來,用兩個任務的形式一一解決。前端
在 GitHub 上建立一個名叫 test2 的倉庫,相關操做查看《Git 和 GitHub——① Git、GitHub 初認識》。git
點擊 Create repository 後,將會看到一些新提示:github
遵循第二步的官方提示,咱們在電腦本地新建 test2 項目。打開終端輸入命令:web
mkdir test2
cd test2
複製代碼
將這個本地的 test2 文件夾初始化成一個本地的倉庫:面試
git init
複製代碼
.git
就是檢驗本地文件夾和本地倉庫的最好標準。touch README.md
echo "這是咱們的git進階測試倉庫" > README.md
複製代碼
README.md
文件裏邊。git add .
git commit -am "init"
複製代碼
原本按照上一篇的知識,第六步事後咱們就能夠向遠程倉庫推送了。可是咱們推送 push 給誰啊?雖然咱們在第一步中就在 GitHub 上創建了 test2 空倉庫,但兩者目前爲止是一點關係都沒有的。因此,咱們要先與 GitHub 遠程創建聯繫,告訴以前的空倉庫,咱們要把本地倉庫推送到哪一個地方。bash
git remote add original git@github.com:oli-zhao/test2.git
複製代碼
git@github.com:oli-zhao/test2.git
是第二步中那個 GitHub 界面右上角給的 URL。——整個意思就是:我給咱們遠程倉庫取了一個名字叫「original」,而後這個遠程倉庫的 URL 具體地址是 git@github.com:oli-zhao/test2.git
。git@github.com:oli-zhao/test2.git
,你能夠直接把這個地址放上去,但因爲長且很難記,因此咱們給它加了一個標籤叫 original。而後刷新你的 GitHub 界面,第二步中的界面將會變成如下界面,也意味着咱們任務圓滿完成:分佈式
點擊 Settings 後,在新打開的界面往下拉,直到看到以下界面:工具
選擇 master branch 並 Save 後,將會看到以下界面:post
打開這個 URL 連接,咱們的項目能夠在線上預覽啦:學習
🏆總結: 任務圓滿完成,還附加了一個彩蛋。其實咱們本地的倉庫,不止能推送到 GitHub 這個平臺上,還能夠推送到其餘支持 Git 的平臺上(新浪雲、coding 等),方法同理就是把這些平臺給你的 URL 放在第七步中放 URL 的位置。
還有兩個相關命令也能夠練習:
1. 刪除咱們給 URL 取的標籤名:
git remote remove 標籤名
2. 修改標籤對應的URL地址:
git remote set-url 須要修改url的標籤 新的url
3. 改標籤的名字:
git remote rename 當前名字 改後的名字
複製代碼
好比說,咱們如今開發一個項目,有3-5個工程師參加,而後在開發過程當中:
🏆總結: 以上就是分支的做用,若是沒有分支,那麼只有等到 a 開發完,b 才能開發,不然就會全亂套!
在實際工做場景中,團隊協做最依賴的莫過於分支。而 Git 相比於 SVN 最強大的一個地方就是它擁有的強大的「分支」。
git branch develop
複製代碼
git checkout develop
複製代碼
touch a.md
git add .
git commit -am "a.md"
複製代碼
git push original develop
複製代碼
git checkout master
複製代碼
git merge develop
複製代碼
如今我在 GitHub 遠程倉庫上的代碼仍是個人 master 分支上的代碼,只有一份代碼。
複製代碼
git push original master
複製代碼
註釋1:到這一步時,打開 GitHub,查看 test2 是否增長了一個分支,且分支下有一個 a.md 文件;
註釋2:這一步完成後,刷新 GitHub,查看 test2 的 master 分支是否也多了一個 a.md 文件,且 develop 分支和 master 包含的文件是否同樣:
當本身和別人改同一個文件的同一個地方後,咱們再執行:
git pull
複製代碼
更新本地合併時,會出現衝突。處理辦法是:
後記: 以上就是初學前端的咱們應該掌握的版本控制方面的知識和相關工具的運用,在後邊的具體 web 開發學習過程當中,咱們將會時時接觸到 Git、GitHub。
這篇文章的學完,咱們也就要正式開始咱們靜態頁面開發的學習——HTML、CSS,相應的知識點會不少很雜,但充滿樂趣,充滿挑戰。
祝好,qdywxs ♥ you!