git的介紹
與SVN相比,是分布式的版本管理系統(tǒng).
.git 文件夾是隱藏的,需要執(zhí)行 defaults write com.apple.finder AppleShowAllFiles -bool true,重啟finder才能顯示出來
git的本地版本管理
理解git三塊存儲區(qū)的概念:工作區(qū),暫存區(qū),對象存儲區(qū).
- 我們的項目文件夾即是工作區(qū),提交的過程,是先將修改的文件放到暫存區(qū)、再從暫存區(qū)移動到存儲區(qū)
git本地提交操作:工作區(qū)與git放在統(tǒng)計目錄下.
- 第一步初始化一個倉庫
- 第二配置用戶名和用戶郵箱
- 將文件添加到暫存區(qū)
- 將文件提交到對象存儲區(qū)
git init //初始化一個本地git代碼倉庫
git confit user.name //配置用戶名
git config user.email //配置用戶郵箱
git status //查看 git 工作區(qū)和暫存區(qū) 文件狀態(tài)
git add . //將文件從工作區(qū)移到暫存區(qū)
git diff //比較當前版本和之前版本的區(qū)別
git commit -m "注釋文字" //將文件從暫存區(qū)提交到代碼區(qū),完成一次版本提交
版本回滾操作:
- git 的每一次操作,都會被一個 hash 值標記,根據某次操作的 hash 值,可能回滾到某個版本。
git log //查看截止到當前版本的歷史記錄
git reset --hard HEAD^ //將代碼回滾到之前版本
git reflog //查看所有操作過的歷史記錄
多人協(xié)作開發(fā)
需要添加 .gitignore 文件
每種語言開發(fā)都有需要用到的.gitignore學會如何添加
git init --bare //建立一個git服務器代碼倉庫
git status //查看 git 工作區(qū)和暫存區(qū) 文件狀態(tài)
git add . //將文件從工作區(qū)移到暫存區(qū)
git commit -m "注釋文字" //將文件從暫存區(qū)提交到代碼區(qū),完成一次版本提交
git clone <服務器地址> //建立一個git服務器代碼倉庫
git pull //把將服務器的最新版本拉取到本地,并合并代碼,類似 svn 的 update
git push //把本地版本庫提交到服務器,類似 svn 的 commit
git config --global push.default simple/maching //默認simple,只提交當前分支
養(yǎng)成先commit在pull,最后push的好習慣
tag標簽管理
對版本進行標記和描述方便查找.
git tag –a 1.0 –m “name” //添加新標簽
git tag //查看所有tag
git tag -n // 查看所有 tag,帶注釋
git checkout 1.0 //切換到某一標簽版本
git show 1.0 //查看某個標簽及其對應版本的詳細信息
git tag -d 1.0 //刪除一個版本
git push origin 1.0 //將版本推送到服務器
分支管理
理解git中分支的概念,特點:相互獨立,不受影響,分支和分支之間可以合并
git branch //查看當前分支
git branch -a //查看所有分支
git checkou -b dev //創(chuàng)建一個分支 dev, 并切換到該分支
git push origin dev //在本地創(chuàng)建一個分支
git checkout master //切換到分支 master
git branch -D dev //刪除本地 dev 分支
git git push origin :dev //刪除遠程 dev 分支
git merge dev //將 dev分支合并到當前分支
分支中的暫存功能.
Xcode git工具
- xcode 自動集成了 git 圖形化管理,xcode 自動會自動將生成的文件添加到暫存區(qū),我們可以直接commit;
source tree經常使用的工具
sourceTree是一款第三方的圖形化git版本管理工具,將git命令行工具換成了可視化工具.
放棄修改某個文件
reset 上次提交的版本