Git常用命令
請(qǐng)確保已經(jīng)安裝里git客戶(hù)端
一般配置
git --version //查看git的版本信息
git config --global user.name //獲取當(dāng)前登錄的用戶(hù)
git config --global user.email //獲取當(dāng)前登錄用戶(hù)的郵箱
登錄git
/* 如果剛沒(méi)有獲取到用戶(hù)配置,則只能拉取代碼,不能修改 要是使用git匆笤,你要告訴git是誰(shuí)在使用/
git config --global user.name 'userName' //設(shè)置git賬戶(hù)办铡,userName為你的git賬號(hào)烫沙,
git config --global user.email 'email'
創(chuàng)建一個(gè)文件夾
mkdir nodejs //創(chuàng)建文件夾nodejs
cd nodejs //切換到nodejs目錄下
初始化git倉(cāng)庫(kù)
git init //在nodejs文件夾下初始化一個(gè)倉(cāng)庫(kù)搬素,此時(shí)文件里會(huì)到一個(gè).git的隱藏文件夾
創(chuàng)建忽略文件
touch .gitignore //不需要服務(wù)器端提交的內(nèi)容可以寫(xiě)到忽略文件里
/
.git
.idea
*/
查看目錄
ls -al
創(chuàng)建文件并寫(xiě)入內(nèi)容
如果文件不存在則會(huì)創(chuàng)建文件
echo "hello git"
index.html //將'hello git' 寫(xiě)入到index.html中
單個(gè)>箭頭表示寫(xiě)入绷耍, >>表示追加
查看文件內(nèi)容
cat index.html
增加到暫存區(qū)中
git add index.html
git add -A //全部添加到緩存區(qū)
增加到版本庫(kù)中
git commit -m '備注信息'
查看版本
git log --oneline
比較差異
比較的是暫存區(qū)和工作區(qū)的差異
git diff
比較的是暫存區(qū)和歷史區(qū)的差異
git diff --cached
比較的是歷史區(qū)和工作區(qū)的差異(修改)
git diff master
撤回內(nèi)容
(如果修改了工作區(qū)的文件后發(fā)現(xiàn)改錯(cuò)了祈匙,可以用暫存區(qū)或者版本庫(kù)里的文件替換掉工作區(qū)的文件)
用暫存區(qū)中的內(nèi)容或者版本庫(kù)中的內(nèi)容覆蓋掉工作區(qū)
git checkout index.html
取消增加到暫存區(qū)的內(nèi)容(添加時(shí))
git reset HEAD index.html
//顯示目錄的狀體 有沒(méi)有添加或者修改文件
git status
刪除本地文件
rm fileName
刪除暫存區(qū)
保證當(dāng)前工作區(qū)中沒(méi)有index.html
git rm index.html --cached
使用--cached 表示只刪除緩存區(qū)中的內(nèi)容
回滾版本
回滾最近的一個(gè)版本 git log
git reset --hard HEAD/commit_id
回滾到未來(lái)
git reflog
分支管理
創(chuàng)建分支
git branch dev
切換分支
git checkout dev
創(chuàng)建分支并切換分支
git checkout -b dev
刪除分支
git branch -d dev
在分支上提交新的版本
git commit -a -m 'dev1'
合并分支
git merge dev
分支的合并后顯示log
git log --oneline --graph --decorate
在分支開(kāi)發(fā)的過(guò)程中遇到其他問(wèn)題需要切換其他分支
保留寫(xiě)好的內(nèi)容在切換到主干
保留內(nèi)容
git stash
在次切換分之后需要應(yīng)用一下保留的內(nèi)容
git stash apply
丟掉保存的內(nèi)容
git stash drop
使用并丟掉
git stash pop
最佳分支
-有的時(shí)候開(kāi)發(fā)需要合并指定的內(nèi)容忽刽,而不是合并所有的提交天揖,所以我們需要挑選最好的,自己生產(chǎn)版本
合并分支把樹(shù)杈掰到主干上
git rebase
添加遠(yuǎn)程的倉(cāng)庫(kù)
push -u
-u參數(shù) upstream
git push origin master -u //獲取最新代碼
連接遠(yuǎn)程倉(cāng)庫(kù)
git remote add origin 倉(cāng)庫(kù)的地址
查看遠(yuǎn)程倉(cāng)庫(kù)
git remote -v
刪除遠(yuǎn)程倉(cāng)庫(kù)
git remote rm origin
git常用命令
安裝及配置:
Ubuntu下安裝:sudo apt-get install git
配置用戶(hù)名:git config --global user.name "你的名字"
配置e-mail:git config --global user.email "你的郵箱@xx.com"
與添加有關(guān)的:
將當(dāng)前目錄變?yōu)閭}(cāng)庫(kù):git init
將文件添加到暫存區(qū):git add 文件名 [可選:另一個(gè)文件名]
將暫存區(qū)提交到倉(cāng)庫(kù):git commit –m "描述"
與查詢(xún)有關(guān)的:
查詢(xún)倉(cāng)庫(kù)狀態(tài):git status
比較文件差異(請(qǐng)?jiān)趃it add之前使用):git diff 文件名
查看倉(cāng)庫(kù)歷史記錄(詳細(xì)):git log
查看倉(cāng)庫(kù)歷史記錄(單行):git log --pretty=online 或 git log --online
查看所有版本的commit ID:git reflog
與撤銷(xiāo)有關(guān)的:
撤銷(xiāo)工作區(qū)的修改:git checkout -- 文件名
撤銷(xiāo)暫存區(qū)的修改:git reset HEAD 文件名
回退到歷史版本:git reset --hard 該版本ID
回退到上個(gè)版本:git reset --hard HEAD^
上上版本是HEAD^^跪帝,也可用HEAD~2表示今膊,以此類(lèi)推
與標(biāo)簽有關(guān)的:
為當(dāng)前版本打標(biāo)簽:git tag 標(biāo)簽名
為歷史版本打標(biāo)簽:git tag 標(biāo)簽名 該版本ID
指定標(biāo)簽說(shuō)明:git tag –a 標(biāo)簽名 –m "標(biāo)簽說(shuō)明" [可選:版本ID]
查看所有標(biāo)簽:git tag
查看某一標(biāo)簽:git show 標(biāo)簽名
刪除某一標(biāo)簽:git tag –d 標(biāo)簽名
與GitHub有關(guān)的:
先有本地庫(kù),后有遠(yuǎn)程庫(kù)伞剑,將本地庫(kù)push到遠(yuǎn)程庫(kù)
關(guān)聯(lián)本地倉(cāng)庫(kù)和GitHub庫(kù):git remote add origin 網(wǎng)站上的倉(cāng)庫(kù)地址
第一次將本地倉(cāng)庫(kù)推送到GitHub上:git push –u origin master
先有遠(yuǎn)程庫(kù)斑唬,后有本地庫(kù),從遠(yuǎn)程庫(kù)clone到本地庫(kù)
從遠(yuǎn)程庫(kù)克隆到本地:git clone 網(wǎng)站上的倉(cāng)庫(kù)地址
網(wǎng)站地址可以選擇HTTPS協(xié)議(https://github.com...)黎泣、SSH協(xié)議(git@github.com...)恕刘。
如果選擇SSH協(xié)議,必須將Ubuntu的公鑰添加到GitHub上抒倚。見(jiàn)下一步
SSH Key
生成SSH Key:ssh-keygen –t rsa –C "你的郵箱@xx.com"
生成Key時(shí)彈出選項(xiàng)褐着,回車(chē)選擇默認(rèn)即可。
Key保存位置:/root/.ssh
登陸GitHub托呕,創(chuàng)建new SSH key含蓉,其內(nèi)容為/root/.ssh/id_rsa.pub中文本
已經(jīng)有了本地庫(kù)和遠(yuǎn)程庫(kù),二者實(shí)現(xiàn)同步
本地庫(kù)的改動(dòng)提交到遠(yuǎn)程庫(kù):git push origin master
更新本地庫(kù)至遠(yuǎn)程庫(kù)的最新改動(dòng):git pull
Git常用命令
請(qǐng)確保已經(jīng)安裝里git客戶(hù)端
一般配置
git --version //查看git的版本信息
git config --global user.name //獲取當(dāng)前登錄的用戶(hù)
git config --global user.email //獲取當(dāng)前登錄用戶(hù)的郵箱
登錄git
/* 如果剛沒(méi)有獲取到用戶(hù)配置项郊,則只能拉取代碼馅扣,不能修改 要是使用git,你要告訴git是誰(shuí)在使用/
git config --global user.name 'userName' //設(shè)置git賬戶(hù)着降,userName為你的git賬號(hào)差油,
git config --global user.email 'email'
創(chuàng)建一個(gè)文件夾
mkdir nodejs //創(chuàng)建文件夾nodejs
cd nodejs //切換到nodejs目錄下
初始化git倉(cāng)庫(kù)
git init //在nodejs文件夾下初始化一個(gè)倉(cāng)庫(kù),此時(shí)文件里會(huì)到一個(gè).git的隱藏文件夾
創(chuàng)建忽略文件
touch .gitignore //不需要服務(wù)器端提交的內(nèi)容可以寫(xiě)到忽略文件里
/
.git
.idea
*/
查看目錄
ls -al
創(chuàng)建文件并寫(xiě)入內(nèi)容
如果文件不存在則會(huì)創(chuàng)建文件
echo "hello git"
index.html //將'hello git' 寫(xiě)入到index.html中
單個(gè)>箭頭表示寫(xiě)入鹊碍, >>表示追加
查看文件內(nèi)容
cat index.html
增加到暫存區(qū)中
git add index.html
git add -A //全部添加到緩存區(qū)
增加到版本庫(kù)中
git commit -m '備注信息'
查看版本
git log --oneline
比較差異
比較的是暫存區(qū)和工作區(qū)的差異
git diff
比較的是暫存區(qū)和歷史區(qū)的差異
git diff --cached
比較的是歷史區(qū)和工作區(qū)的差異(修改)
git diff master
撤回內(nèi)容
(如果修改了工作區(qū)的文件后發(fā)現(xiàn)改錯(cuò)了厌殉,可以用暫存區(qū)或者版本庫(kù)里的文件替換掉工作區(qū)的文件)
用暫存區(qū)中的內(nèi)容或者版本庫(kù)中的內(nèi)容覆蓋掉工作區(qū)
git checkout index.html
取消增加到暫存區(qū)的內(nèi)容(添加時(shí))
git reset HEAD index.html
//顯示目錄的狀體 有沒(méi)有添加或者修改文件
git status
刪除本地文件
rm fileName
刪除暫存區(qū)
保證當(dāng)前工作區(qū)中沒(méi)有index.html
git rm index.html --cached
使用--cached 表示只刪除緩存區(qū)中的內(nèi)容
回滾版本
回滾最近的一個(gè)版本 git log
git reset --hard HEAD/commit_id
回滾到未來(lái)
git reflog
分支管理
創(chuàng)建分支
git branch dev
切換分支
git checkout dev
創(chuàng)建分支并切換分支
git checkout -b dev
刪除分支
git branch -d dev
在分支上提交新的版本
git commit -a -m 'dev1'
合并分支
git merge dev
分支的合并后顯示log
git log --oneline --graph --decorate
在分支開(kāi)發(fā)的過(guò)程中遇到其他問(wèn)題需要切換其他分支
保留寫(xiě)好的內(nèi)容在切換到主干
保留內(nèi)容
git stash
在次切換分之后需要應(yīng)用一下保留的內(nèi)容
git stash apply
丟掉保存的內(nèi)容
git stash drop
使用并丟掉
git stash pop
最佳分支
-有的時(shí)候開(kāi)發(fā)需要合并指定的內(nèi)容,而不是合并所有的提交侈咕,所以我們需要挑選最好的公罕,自己生產(chǎn)版本
合并分支把樹(shù)杈掰到主干上
git rebase
添加遠(yuǎn)程的倉(cāng)庫(kù)
push -u
-u參數(shù) upstream
git push origin master -u //獲取最新代碼
連接遠(yuǎn)程倉(cāng)庫(kù)
git remote add origin 倉(cāng)庫(kù)的地址
查看遠(yuǎn)程倉(cāng)庫(kù)
git remote -v
刪除遠(yuǎn)程倉(cāng)庫(kù)
git remote rm origin