git的一些基礎(chǔ)命令
Git常用命令
請(qǐng)確保已經(jīng)安裝里git客戶端
一般配置
git --version //查看git的版本信息git config --global user.name //獲取當(dāng)前登錄的用戶git config --global user.email //獲取當(dāng)前登錄用戶的郵箱
登錄git
/* 如果剛沒有獲取到用戶配置诗箍,則只能拉取代碼董习,不能修改 要是使用git,你要告訴git是誰(shuí)在使用*/git config --global user.name 'userName' //設(shè)置git賬戶篙程,userName為你的git賬號(hào),git config --global user.email 'email'
創(chuàng)建一個(gè)文件夾
mkdir nodejs //創(chuàng)建文件夾nodejscd nodejs //切換到nodejs目錄下
初始化git倉(cāng)庫(kù)
git init //在nodejs文件夾下初始化一個(gè)倉(cāng)庫(kù),此時(shí)文件里會(huì)到一個(gè).git的隱藏文件夾
創(chuàng)建忽略文件
touch .gitignore //不需要服務(wù)器端提交的內(nèi)容可以寫到忽略文件里 /* .git .idea */
查看目錄
ls -al
創(chuàng)建文件并寫入內(nèi)容
如果文件不存在則會(huì)創(chuàng)建文件
echo "hello git" > index.html //將'hello git' 寫入到index.html中
單個(gè)>箭頭表示寫入, >>表示追加
查看文件內(nèi)容
cat index.html
增加到暫存區(qū)中
git add index.htmlgit 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
顯示目錄的狀體 有沒有添加或者修改文件
git status
刪除本地文件
rm fileName
刪除暫存區(qū)
保證當(dāng)前工作區(qū)中沒有index.html
git rm index.html --cached
使用--cached 表示只刪除緩存區(qū)中的內(nèi)容
回滾版本
回滾最近的一個(gè)版本 git log
git reset --hard HEAD/commit_id
#######回滾到未來
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
在分支開發(fā)的過程中遇到其他問題需要切換其他分支
保留寫好的內(nèi)容在切換到主干
保留內(nèi)容
git stash
在次切換分之后需要應(yīng)用一下保留的內(nèi)容
git stash apply
丟掉保存的內(nèi)容
git stash drop
使用并丟掉
git stash pop
最佳分支
-有的時(shí)候開發(fā)需要合并指定的內(nèi)容,而不是合并所有的提交屎慢,所以我們需要挑選最好的瞭稼,自己生產(chǎn)版本
合并分支把樹杈掰到主干上
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
配置用戶名: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 "描述"
與查詢有關(guā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
與撤銷有關(guān)的:
撤銷工作區(qū)的修改:git checkout -- 文件名
撤銷暫存區(qū)的修改:git reset HEAD 文件名
回退到歷史版本:git reset --hard 該版本ID
回退到上個(gè)版本:git reset --hard HEAD^
上上版本是HEAD^^
忽洛,也可用HEAD~2
表示,以此類推
與標(biāo)簽有關(guān)的:
為當(dāng)前版本打標(biāo)簽:git tag 標(biāo)簽名
為歷史版本打標(biāo)簽:git tag 標(biāo)簽名 該版本ID
指定標(biāo)簽說明:git tag –a 標(biāo)簽名 –m "標(biāo)簽說明" [可選:版本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上寂恬。見下一步
SSH Key
生成SSH Key:ssh-keygen –t rsa –C "你的郵箱@xx.com"
生成Key時(shí)彈出選項(xiàng),回車選擇默認(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