GIT簡明速成教程
<a >原文鏈接,轉(zhuǎn)載請注明,謝謝.</a>
本教程為速成教程,如需要更深入的學習,請出門左拐
在瀏覽教程之前我們先看一下git版本管理的流程示意"圖"
本地文件--->暫存區(qū)--->本地版本庫(某分支)--->遠程版本庫(某分支)
以下所有版本庫地址都以git@aaa.bbb:ccc.git為例
初級教程
我有一個現(xiàn)成的版本庫地址我可以進行讀寫,我該如何將代碼拉取遠程代碼到本地?
答:
git clone git@aaa.bbb:ccc.git //將在本地新建一個ccc的文件夾,可以理解為于倉庫,其實為本地文件
我已經(jīng)獲取到了遠程的代碼,經(jīng)過修改,我想把我的代碼改動提交的遠程的版本庫,我應(yīng)該怎么操作呢?
答:
git diff //對比一下我的"本地文件"和"暫存區(qū)"的文件
git add . //提交"本地文件"到暫存區(qū)
git diff -cached //對比暫存區(qū)和本地版本庫的區(qū)別
git commit -m commit_info //提交暫存區(qū)文件到本地版本庫
git push origin master //提交本地版本庫到遠程版本庫
中級教程
master分支是什么?我如何創(chuàng)建以及切換一個分支?
答:
一個倉庫可以有多個分支,無論是本地還是遠程
git branch newbranch //在本地創(chuàng)建一個新分支
git checkout newbranch //將本地指向新分支
簡而言之
git checkout -b newbranch //創(chuàng)建并切換到新分支newbranch
創(chuàng)建并切換到新分支之后
git commit -am commit_info //簡寫了add & commit
git push origin newbranch //從本地版本庫推送到遠程版本庫
高級教程
我已經(jīng)新建了一個空文件夾,我如何"綁定"遠程倉庫?
答:
git init //創(chuàng)建一個本地版本庫
git remote add origin git@git.yhouse.com:test.git //將遠程版本庫與本地"關(guān)聯(lián)"
git pull origin master //將遠程版本庫的內(nèi)容拉下來(注意這里是同時fetch到了本地版本庫和merge到了本地文件)
我本地有一些代碼沒及時關(guān)聯(lián)遠程版本庫,我又不想clone了復(fù)制過去,一定有更簡潔的方法吧?
答:
我們直接按照上面的方式不就行了?但是,如果本地文件和遠程文件有文件沖突了那該怎么辦?問題是我不知道如何應(yīng)對啊?
下面就是應(yīng)對方法
git init //在本地創(chuàng)建一個版本庫
git remote add origin git@git.yhouse.com:test.git //將遠程版本庫與本地"關(guān)聯(lián)"
git fetch origin master:temp //將遠程版本庫內(nèi)容拉到新本地分支temp里面
git diff temp 將本地文件與本地倉庫新分支temp做比較
//處理沖突或者完全沒有沖突
git merge temp //合并內(nèi)容到本地
我想看一下我的提交歷史?
答:
git log //查看全部提交歷史commit_info信息
git log -n //查看最近n次提交歷史commit_info信息
git log -p //查看提交歷史commit_info信息以及文件更改詳情
git log --stat //-p是詳情,這個沒有詳情,只有更改的行數(shù)git log //查看全部提交歷史commit_info信息
我這次修改的錯誤了,我應(yīng)該如何回退到上一個版本?
答:
git reset --hard HEAD^ //退回到上一個版本
學會了退回上一個版本,那么其他任意版本呢?
答:
git reset --hard commit_id //退回到任意版本
還有什么其他有用的命令?
答:
git remote -v //查看遠程版本庫地址
git branch -a //查看所有分支