版本控制與多人協作 Git
Git 是啥 能吃嗎?
嘿 當然不行
介紹 Git
Git is Version Control System(VCS),it is use to manage program and code and it can protect all of the program file modify record and history version
Git 延伸閱讀本人製作
不覺得這很像追趕報告的你嗎
是不是覺得有點母湯
Git 創始人 Linus Torvald
最初目的是為更好地管理 Linux 核心開發而設計
起因是 Linux 的 Kernel VCS 公司突然要求付費, 然後 Linus 花十天寫了一個新的 VCS(git)。
10 天ㄟ你跟我開玩笑嗎...
安裝 git
Git Website Click me Git has GUI , but i don,t recommend you to use that Let,s try to use Git bash
基本觀念
多人協作示意圖
基本操作
抓專案(專門拿來抓別人已發布的 git 專案)
有了他就能看到別人
嘿嘿有趣的作品了
git clone <url>
GitHub BitBucket GitLab 只要是 public 的或你擁有權限的都可以作使用喔 試試看抓這個專案
初始化
宣告該專案資料夾為 需要使用 Git 功能的專案
git init
簡而言之就是 git 的初始化 所有 git 功能皆須作用在經初始化的 folder 裡
查看目前狀態
通常拿來看 自己操作到哪裡了
git status
查看整個 folder 的紀錄
看起來很長 不過我更喜歡下面這個(簡短又方便)
git log --oneline --graph --decorate --all
gitk
基本指令就到這邊為止
那這些會陪伴你一輩子 好好記得吧 他只是看起來有點複雜而已 實際 多打就會記得
repository 操作
將檔案紀錄到 staging area(index)
git add <file_name>
對不起我後悔了 將已經記錄到 index 的資料刪除
git rm --cached <file>
提交至 local repository
git commit -m "提交訊息"
HEAD 頭?
延伸教材 在 Git,HEAD 代表當前分支的最新提交名稱。在建立新的數據庫時,Git 會預設 HEAD 指向 master 分支。您可以藉著移動 HEAD 的指向,更新正在使用的分支。
這個東西當你有在多人開發就會很重要了
顯示修改 對比前後修改
git diff
用法有很多 可以參考這裡 不過 我還是比就喜歡 gitk
樹不只會直直往上長
還有分支
建立分支
git branch //顯示本repository有哪些branch
git branch 分支名稱
剪掉樹枝 去除分支
git branch -d 分支名稱
從這根樹枝跳到另一根
git checkout 'branch_name'
當你覺得這分支該回到主幹時
git merge 目標branch//合併目標branch跟本branch
換人當主幹
git rebase
額外補充
當然 git 可以提交至 github bitbucket gitlab github bitbucket gitlab 都是可以存放 Git remote repository 的地方 那本次範例以 GitHub 來做
申請 Github
建立你的第一個 repository
該填的寫一寫
你會獲得
他告訴你說 我們可以透過 HTTPS 跟 SSH 來 push 我們的專案