標籤:
Git的使用
1、Git簡介:Git是一個開源的分布式版本控制系統。與SVN、CVS相比分布式 不需要中心倉庫Git的版本號碼都是產生的一個雜湊值,比如:bbaf6fb5060b4875b18ff9ff637ce118256d6f20效能 分支與合并是比較簡單 對比快 儲存空間少 2、Git的作用:可以利用它來追蹤項目中的檔案可以和夥伴共用版本曆史狀態可以將夥伴的工作和你的工作進行合并可以對整個工程或某些檔案跟曆史版本進行比較或者恢複到早期的某個版本。 3、Git術語:Repository 包括本地庫和遠程庫Pull / Push / Checkout / Fetch :上傳、擷取Branch:分支Merge:合并Conflict:衝突Commit:提交Revert:恢複Working Directory:工作目錄 4、遠程庫(左圖)和本地庫(右圖)如下: 5、Git一些常用命令:獲得倉庫 擷取資訊git init git helpgit clone git status git diff提交 git loggit add git show(顯示改動情況)git commit 6、Git命令的備忘流程: 7、Git的工作流程:建立本地工作目錄(init,clone)與遠程倉庫同步(pull,fetch)修改檔案查看變更(show,status)載入變更(add or –a)提交載入的變更(commit)重複上傳(push) 8、第一個Git庫:告訴Git你是誰git config –global user.name “xucons”git config –global user.email “[email protected]”建立一個庫:git init複製一個庫:git clone git://git.kernel.org/scm/git/git.git 9、遠程倉庫操作:git clone <倉庫地址> git remote –v 列出所有遠程倉庫git push <倉庫名> <分支名> 推送本地分支更新到遠程倉庫git fetch 從遠程倉庫擷取更新git pull 從遠程倉庫擷取更新並merge本地分支 10、Pull與Fetch區別:git fetch:相當於是從遠程擷取最新版本到本地,不會自動mergegit pull:相當於是從遠程擷取最新版本並merge到本地,相當於git fetch 和 git merge 在實際使用中,git fetch更安全一些。因為在merge前,我們可以查看更新情況,然後再決定是否合并 11、Git檔案的狀態變化圖: 12、熱門檔案操作命令:git status 查看檔案狀態git add <file> 跟蹤新檔案或暫存已修改檔案git diff 查看檔案變化git commit –m <msg> 提交更新git rm file 移除檔案git log 查看提交日誌git commit –ammend 修改最後一次提交git reset HEAD <file> 取消已暫存檔案git checkout -- <file> 取消檔案修改 13、查看曆史版本:可以通過git log 命令來查看曆史版本的提交git log的操作都是本地操作,基本都能瞬間完成,比SVN快很多,查看曆史版本或進行diff比較都非常方便也可以通過git revert操作來回退到曆史版本 14、revert和reset:reset 將當前的工作目錄完全復原到指定的版本號碼revert 還原一個版本的修改,必須提供一個具體的Git版本號碼,例如‘git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20‘ 區別 reset是指將當前head的內容重設,不會留任何痕迹。 revert是撤銷某次提交,但是這次撤銷也會作為一次提交進行儲存。 15、Rebase:nrebase命令執行後,實際上是將分支點從C移到了G,這樣分支也就具有了從C到G的功能 16、分支與標記:分支建立分支 git branch <name> git branch <name> <commit-id>刪除分支 git branch -d <name>查看分支 git branch git branch -r” //remote branch轉動某一分支 git checkout <commit-id> git checkout -b <name> <commit-id>分支合并 git merge <name> //合并指定的分支到當前分支標記 標記只是一個方便人識別某次提交的一個標籤 git tag <tag-name> 17、GitHub介紹:GitHub是一個基於web與git的託管專案服務,你可以這裡託管你的代碼。網址:https://github.com/ 18、總結:Git是一個很棒的工具進行協作難以在短時間內精通,需要在日常使用中不斷學習,,,,,
iOS:Git分布式版本控制器系統