一學(xué)就會(huì)的git命令
導(dǎo)讀
使用git 已不知好幾年,最近想著把常用的一些git 命令做個(gè)總結(jié),本文主要寫的是git常用的命令。
幾個(gè)常用的命令
mkdir folder_name ?//?創(chuàng)建文件夾?[folder_name:?文件夾名稱,舉個(gè)栗子:git-demo]
cd??folder_name????//?進(jìn)入文件夾
touch file_name ???//?創(chuàng)建一個(gè)文件?[file_name:文件名稱,舉個(gè)栗子:index.js]
vim file_name ?????//?編輯一個(gè)文件?[舉個(gè)栗子:vim index.js]
rm?-rf?file_name???//?刪除文件或者文件夾?[rm?-rf?file_name]
ls???????//?顯示工作目錄
clear????//?清除屏幕
獲取git 倉(cāng)庫(kù)
1.第一種方式,將本地項(xiàng)目轉(zhuǎn)換成git 倉(cāng)庫(kù), 生成一個(gè).git文件;
mkdir?git-demo?//創(chuàng)建一個(gè)文件
cd?git-demo
git?init??//?創(chuàng)建一個(gè)名為?.git?的子目錄
2.第二種方式,拉取(克隆)遠(yuǎn)程已存在的git倉(cāng)庫(kù);
git?clone???//?url?倉(cāng)庫(kù)地址
git?clone?https://github.com/FishStudy520/git-demo.git
git config (配置用戶信息)
配置用戶信息(用戶名和郵箱);
git?config?user.name?'your?name'?????//?配置用戶名
git?config?user.email??'your?email'??//配置用戶郵箱
查看配置信息 (顯示配置信息);
git?config?--list
全局配置用戶只需要加?--global;
git?config?--global?user.name?'your?name'?//?全局配置用戶名
git help (查看文檔)
查看常見(jiàn)的命令;
git?help
查看git全部的命令;
git?help?-a
查看git命令某個(gè)文檔, 舉個(gè)栗子:
git?help?add
git status (查看狀態(tài))
查看狀態(tài)
git?status
主要用于查看工作區(qū)與保存區(qū)的狀態(tài);文件狀態(tài)如以下三種:
Untracked files: 未跟蹤的文件,新創(chuàng)建的文件 (未跟蹤的文件);
Changes to be committed:保存已修改的文件,該文件運(yùn)行在git add 的版本歷史記錄中,但還沒(méi)有commit ;
Changes not staged for commit: 保存已修改的文件;

未跟蹤的文件(Untracked)和已修改的文件(Modified)通過(guò)git add .提交到暫存區(qū)區(qū),使用git reset HEAD ?還原到git add .時(shí)的狀態(tài); 已修改的文件(Modified)使用git checkout .將以跟蹤所有已修改的文件,還原到修改前的狀態(tài)(Unmodifed); 以跟蹤未修改的文件(Unodified)通過(guò)本地倉(cāng)庫(kù)切換出新分支所得;
git?status?-s
git add(添加到暫存區(qū))
git?add?file?file1?...
git?add?.
git?add?-u
git?add?-A
git commit(提交本地倉(cāng)庫(kù))
git?commit?-m?'message'
git?commit?-a?-m?'messgae'
git?commit?--amend
git 分支
git?branch
git?branch?-a
git?branch??//branch_name:?新分支名稱
git?checkout?develop?//?切換到develop分支
git branch -d ???// branch_name:需要?jiǎng)h除的分支名
//?舉個(gè)栗子:刪除develop 分支
git?branch?-d?develop
//?強(qiáng)制刪除某個(gè)分支,分支未合并,如果想刪除,就使用下面命令;
git?branch?-D?develop
git?branch?--show-current
git?branch?--merged
git?branch?--no-merged
git checkout (檢出)
git?checkout??//?branch_name:分支名稱
git?checkout?develop?//切換到develop?分支
git?checkout?-b??//??branch_name:新增分支名稱
git?checkout?-b?develop???//?創(chuàng)建develop?分支并切換到develop分支上
git?checkout?-f??//?忽略修改切換到?branch_name?上
git merge(合并)
git?merge??//?branch_name:?分支名稱
git?merge?--abort
git log(提交記錄)
git?log?//?按?字母?q?退出查看
--oneline: git log 的簡(jiǎn)寫,輸出7個(gè)commit hash 的前7個(gè)字符,以及提交說(shuō)明;
git?log?--oneline
git?log?-p????????//??查看每次提交改變的差異
git?log?-p??//?查看指定文件的提交記錄
git?log?--stat
git?log?--prettry=oneline
git?log?-2?//?最近兩條的提交信息
git?log?--graph
git diff(查看差異)
git?diff
git?diff?HEAD
git diff commit-id //?與commit-id版本比較差異,commit-id:對(duì)應(yīng)提交的版本號(hào)
git?diff?master?//?與master?分支比較差異
git?diff?master...develop?//?對(duì)比master分支與develop?分支的差異
git?diff?--stat
git tag(打標(biāo)簽)
git?tag
git?tag?v0.0.1
git?tag???//?tag_name:?tag名稱
//?比如:查看v0.0.1 標(biāo)記
git?tag?v0.0.1
git?tag?-d?v0.0.1
git?push?origin?--tags
git?ls-remote?--tags?origin
git checkout -b ??// branch_name:新分支名,tag_name:tag名
git 遠(yuǎn)端倉(cāng)庫(kù)
git?remote?-v
git remote add? ??// short_name:?簡(jiǎn)短的名稱,url:遠(yuǎn)程倉(cāng)庫(kù)地址
//?舉個(gè)栗子:
git?remote?add??fishStudy520??https://github.com/FishStudy520/git-demo.git
git fetch?//remote:遠(yuǎn)程地址
git?pull?origin?master?//?拉去遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)
git?push?origin?--delete??//?branch_name:?遠(yuǎn)端分支名
git?push?origin?master?//?推送到遠(yuǎn)程倉(cāng)庫(kù)的master分支
git?remote?show?origin
?git?remote?rename?old_name?new_name?
?//?舉個(gè)栗子:
?git?remote?rename?fishStudy520?fish001
git?remote?remove?fishStudy520?//移除遠(yuǎn)程倉(cāng)庫(kù)?fishStudy520
git?pull?=?git?fetch?+?git?merge
貯藏與清理
場(chǎng)景:當(dāng)你在項(xiàng)目上修改一些內(nèi)容,而現(xiàn)在臨時(shí)線上有個(gè)緊急bug 需要修復(fù),但是你不想這么一會(huì)就創(chuàng)建一次提交,這時(shí)使用stash,將修改保存。等Bug 修改完后,再次切回原分支,從堆棧中恢復(fù)剛剛貯藏的內(nèi)容。
git stash save?// message:備注信息(可選參數(shù)下)
or
git?stash?//不添加備注信息
git?stash?list
git?show?stash??????//默認(rèn)第一個(gè),索引為0,
git?show?stash@{1}??//?查看第二次貯藏的內(nèi)容有哪些
git?stash?apply?//?默認(rèn)使用最近一次的貯藏,相當(dāng)于?git?stash?apply?stash${0}?
git?stash?apply?stash${1}??//?使用第二個(gè)貯藏
git?stash?pop?stash@{2}?//?使用第3個(gè)貯藏,并且刪除從緩存中刪除
git?stash?drop?stash@{2}?//?丟棄列表中的第3次貯藏
git?stash?clear
總結(jié)


評(píng)論
圖片
表情

