Git是一款分布式版本控制工具,被廣泛應(yīng)用于軟件開發(fā)中骏啰。在使用Git的過程中,我們經(jīng)常會(huì)遇到需要克隆倉庫抽高、代碼提交判耕、分支創(chuàng)建和合并等情況。本文將介紹Git 的常用方法翘骂,并提供一些實(shí)用技巧祈秕,幫助您更快速地了解使用Git。
Git工具常用命令:
git clone????//克隆倉庫代碼雏胃,即拉取倉庫代碼请毛,從遠(yuǎn)程倉庫克隆一個(gè)項(xiàng)目到本地
Git是一款分布式版本控制工具,被廣泛應(yīng)用于軟件開發(fā)中瞭亮。在使用Git的過程中方仿,我們經(jīng)常會(huì)遇到需要克隆倉庫、輸入用戶名密碼或使用SSH密鑰的情況统翩,Clone有常用有兩種方式:1仙蚜、使用SSH密鑰克隆倉庫(需要生成和配置SSH秘鑰);
2厂汗、使用Url克挛邸(比較常用,通常在終端克隆的過程中會(huì)需要輸入賬密權(quán)限)娶桦;
git add ? ?//用于將文件或文件夾添加到暫存區(qū)贾节,以便進(jìn)行提交
git add -A? 提交所有變化
git add -u? 提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)
git add .? 提交新文件(new)和被修改(modified)文件衷畦,不包括被刪除(deleted)文件add到緩存中
git commit ? // 用于提交暫存區(qū)的更改到本地倉庫栗涂,并添加提交信息
eg: git commit -m "-提交注釋-"
git pull ? ?//拉代碼,從遠(yuǎn)程倉庫拉取最新的更改并合并到本地倉庫
git?push????//推送代碼祈争,更新遠(yuǎn)程代碼斤程,即本地提交推送至倉庫
git branch ? ?//?查看本地分支列表
git branch -r 或者git branch -a 查看所有分支
git branch --merged 查看合并到當(dāng)前分支的分支列表, 一旦出現(xiàn)在這個(gè)列表中就應(yīng)該刪除 git branch --no-merged 查看沒有合并到當(dāng)前分支的分支列表菩混,一旦出現(xiàn)在這個(gè)列表就應(yīng)該觀察一下是否需要合并
如果要?jiǎng)?chuàng)建新分支忿墅,可以使用?git branch <branch_name>?命令
git分支的注意點(diǎn):在切換的時(shí)候一定要保證當(dāng)前分支是干凈的!
允許切換分支:分支上所有的內(nèi)容處于已提交狀態(tài) 扁藕,分支上的內(nèi)容是初始化創(chuàng)建,處于未跟蹤狀態(tài)疚脐,分支上的內(nèi)容是初始化創(chuàng)建 第一次處于已暫存狀態(tài)纹磺。
不允許切分支:分支上所有的內(nèi)容處于已修改狀態(tài),或第二次以后的已暫存狀態(tài)在分支上的工作做到一半時(shí) 如果有切換分支的需求, 我們應(yīng)該將現(xiàn)有的工作存儲(chǔ)起來 亮曹。
git checkout ? ?//用于切換到指定分支或創(chuàng)建一個(gè)新分支。也可以用來檢查當(dāng)前工作目錄中的文件與當(dāng)前分支的差異秘症。
git checkout <branch_name> # 切換到指定分支
git checkout -b <branch_name>? # 創(chuàng)建并切換到新分支
git log ? ?//查看提交歷史記錄照卦,顯示從最近到最遠(yuǎn)的提交信息
git diff ? ?//用于查看工作目錄中未暫存的更改與最后一次提交之間的差異。也可以用來比較兩個(gè)提交之間的差異
git diff # 查看未暫存的更改與最后一次提交之間的差異
git diff <commit1> <commit2>? # 比較兩個(gè)提交之間的差異
git diff --cache #查看未提交的緩存
git stash ? ?//保存當(dāng)前工作目錄中的更改乡摹,以便稍后恢復(fù)役耕。這對(duì)于在切換分支或進(jìn)行其他操作之前保存當(dāng)前工作狀態(tài)非常有用
git stash save "Optional message" # 保存當(dāng)前狀態(tài),可以添加消息以便稍后識(shí)別
git stash list? # 查看所有保存的更改狀態(tài)
git stash pop? # 恢復(fù)最近一次的更改狀態(tài)并將其從保存列表中刪除
不會(huì)很常用的命令:
git init ? ?//初始化:創(chuàng)建一個(gè)git倉庫聪廉,創(chuàng)建之后就會(huì)在當(dāng)前目錄生成一個(gè).git的文件
git?show????//顯示各種類型的對(duì)象
git status????//查看狀態(tài)(查看當(dāng)前分支狀態(tài)瞬痘,查看git庫的狀態(tài),未提交的文件板熊,分為兩種框全,add過已經(jīng)在緩沖區(qū)的,未add過的)
git reset ? ?//版本回退:可以將當(dāng)前倉庫回退到歷史的某個(gè)版本
git reset --hard HEAD^:回退到上一個(gè)版本(HEAD代表當(dāng)前版本干签,有一個(gè)^代表上一個(gè)版本津辩,以此類推)
git reset --hard d7b5:回退到指定版本(其中d7b5是想回退的指定版本號(hào)的前幾位)
git mv ? ?//移動(dòng)或重命名文件、目錄或符號(hào)鏈接(一般不用自己操作)
git rm ? ?//從工作樹和索引中刪除文件(一般不用自己操作)
git reflog ? ?//查看命令歷史:查看倉庫的操作歷史
PS:在記住使用了些常用的git命令之后容劳,會(huì)發(fā)現(xiàn)要比svn會(huì)方便好用些喘沿,svn工具也是有比較直觀的優(yōu)點(diǎn)的,記住常用的幾個(gè)簡(jiǎn)單的命令可以幫我們省去不少事情竭贩,畢竟好多svn工具有些沖突和問題最后要回歸到git命令去解決蚜印,當(dāng)然也要看個(gè)人習(xí)慣和喜好了。
希望各位看官老爺能給以支持和指導(dǎo)留量,多謝啦U场!楼熄!~