請確保已經(jīng)安裝里git客戶端
一般配置
git --version//查看git的版本信息git config --global user.name//獲取當(dāng)前登錄的用戶git config --global user.email//獲取當(dāng)前登錄用戶的郵箱
/* 如果剛沒有獲取到用戶配置链沼,則只能拉取代碼,不能修改? 要是使用git抢肛,你要告訴git是誰在使用*/git config --global user.name'userName'//設(shè)置git賬戶,userName為你的git賬號铁追,git config --global user.email'email'
mkdir nodejs//創(chuàng)建文件夾nodejscd nodejs//切換到nodejs目錄下
git init //在nodejs文件夾下初始化一個倉庫俏蛮,此時文件里會到一個.git的隱藏文件夾
touch .gitignore//不需要服務(wù)器端提交的內(nèi)容可以寫到忽略文件里/*
? ? ? ? .git
? ? ? ? .idea
? ? */
ls -al
如果文件不存在則會創(chuàng)建文件
echo"hello git" >index.html? ? ? //將'hello git' 寫入到index.html中
單個>箭頭表示寫入, >>表示追加
catindex.html
git addindex.htmlgit add -A//全部添加到緩存區(qū)
gitcommit -m'備注信息'
gitlog --oneline
比較的是暫存區(qū)和工作區(qū)的差異
git diff
比較的是暫存區(qū)和歷史區(qū)的差異
git diff--cached
比較的是歷史區(qū)和工作區(qū)的差異(修改)
git diff master
(如果修改了工作區(qū)的文件后發(fā)現(xiàn)改錯了挠说,可以用暫存區(qū)或者版本庫里的文件替換掉工作區(qū)的文件)
用暫存區(qū)中的內(nèi)容或者版本庫中的內(nèi)容覆蓋掉工作區(qū)
git checkoutindex.html
gitresetHEADindex.html
//顯示目錄的狀體 有沒有添加或者修改文件
gitstatus
rm fileName
保證當(dāng)前工作區(qū)中沒有index.html
git rmindex.html --cached
使用--cached 表示只刪除緩存區(qū)中的內(nèi)容
回滾最近的一個版本 git log
gitreset--hard HEAD/commit_id
git reflog
git branch dev
git checkout dev
git checkout -b dev
git branch-d dev
gitcommit -a -m'dev1'
gitmerge dev
gitlog --oneline --graph --decorate
保留寫好的內(nèi)容在切換到主干
保留內(nèi)容
git stash
git stash apply
git stash drop
git stashpop
-有的時候開發(fā)需要合并指定的內(nèi)容,而不是合并所有的提交愿题,所以我們需要挑選最好的损俭,自己生產(chǎn)版本
git rebase
-u參數(shù) upstream
git push origin master -u//獲取最新代碼
git remote add origin 倉庫的地址
git remote -v
git remote rm origin
Ubuntu下安裝:sudo apt-get install git
配置用戶名:git config --global user.name "你的名字"
配置e-mail:git config --global user.email "你的郵箱@xx.com"
將當(dāng)前目錄變?yōu)閭}庫:git init
將文件添加到暫存區(qū):git add 文件名 [可選:另一個文件名]
將暫存區(qū)提交到倉庫:git commit –m "描述"
查詢倉庫狀態(tài):git status
比較文件差異(請在git add之前使用):git diff 文件名
查看倉庫歷史記錄(詳細(xì)):git log
查看倉庫歷史記錄(單行):git log --pretty=online或git log --online
查看所有版本的commit ID:git reflog
撤銷工作區(qū)的修改:git checkout -- 文件名
撤銷暫存區(qū)的修改:git reset HEAD 文件名
回退到歷史版本:git reset --hard 該版本ID
回退到上個版本:git reset --hard HEAD^
上上版本是HEAD^^,也可用HEAD~2表示潘酗,以此類推
為當(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)簽名
先有本地庫杆兵,后有遠(yuǎn)程庫,將本地庫push到遠(yuǎn)程庫
關(guān)聯(lián)本地倉庫和GitHub庫:git remote add origin 網(wǎng)站上的倉庫地址
第一次將本地倉庫推送到GitHub上:git push –u origin master
先有遠(yuǎn)程庫崎脉,后有本地庫拧咳,從遠(yuǎn)程庫clone到本地庫
從遠(yuǎn)程庫克隆到本地:git clone 網(wǎng)站上的倉庫地址
網(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時彈出選項灶体,回車選擇默認(rèn)即可阅签。
Key保存位置:/root/.ssh
登陸GitHub,創(chuàng)建new SSH key蝎抽,其內(nèi)容為/root/.ssh/id_rsa.pub中文本
已經(jīng)有了本地庫和遠(yuǎn)程庫政钟,二者實現(xiàn)同步
本地庫的改動提交到遠(yuǎn)程庫:git push origin master
更新本地庫至遠(yuǎn)程庫的最新改動:git pull
請確保已經(jīng)安裝里git客戶端
一般配置
git --version//查看git的版本信息git config --global user.name//獲取當(dāng)前登錄的用戶git config --global user.email//獲取當(dāng)前登錄用戶的郵箱
/* 如果剛沒有獲取到用戶配置路克,則只能拉取代碼,不能修改? 要是使用git养交,你要告訴git是誰在使用*/git config --global user.name'userName'//設(shè)置git賬戶精算,userName為你的git賬號,git config --global user.email'email'
mkdir nodejs//創(chuàng)建文件夾nodejscd nodejs//切換到nodejs目錄下
git init //在nodejs文件夾下初始化一個倉庫碎连,此時文件里會到一個.git的隱藏文件夾
touch .gitignore//不需要服務(wù)器端提交的內(nèi)容可以寫到忽略文件里/*
? ? ? ? .git
? ? ? ? .idea
? ? */
ls -al
如果文件不存在則會創(chuàng)建文件
echo"hello git" >index.html? ? ? //將'hello git' 寫入到index.html中
單個>箭頭表示寫入灰羽, >>表示追加
catindex.html
git addindex.htmlgit add -A//全部添加到緩存區(qū)
gitcommit -m'備注信息'
gitlog --oneline
比較的是暫存區(qū)和工作區(qū)的差異
git diff
比較的是暫存區(qū)和歷史區(qū)的差異
git diff--cached
比較的是歷史區(qū)和工作區(qū)的差異(修改)
git diff master
(如果修改了工作區(qū)的文件后發(fā)現(xiàn)改錯了,可以用暫存區(qū)或者版本庫里的文件替換掉工作區(qū)的文件)
用暫存區(qū)中的內(nèi)容或者版本庫中的內(nèi)容覆蓋掉工作區(qū)
git checkoutindex.html
gitresetHEADindex.html
//顯示目錄的狀體 有沒有添加或者修改文件
gitstatus
rm fileName
保證當(dāng)前工作區(qū)中沒有index.html
git rmindex.html --cached
使用--cached 表示只刪除緩存區(qū)中的內(nèi)容
回滾最近的一個版本 git log
gitreset--hard HEAD/commit_id
git reflog
git branch dev
git checkout dev
git checkout -b dev
git branch-d dev
gitcommit -a -m'dev1'
gitmerge dev
gitlog --oneline --graph --decorate
保留寫好的內(nèi)容在切換到主干
保留內(nèi)容
git stash
git stash apply
git stash drop
git stashpop
-有的時候開發(fā)需要合并指定的內(nèi)容鱼辙,而不是合并所有的提交廉嚼,所以我們需要挑選最好的,自己生產(chǎn)版本
git rebase
-u參數(shù) upstream
git push origin master -u//獲取最新代碼
git remote add origin 倉庫的地址
git remote -v
git remote rm origin
免密碼登錄git
1. 創(chuàng)建ssh無密碼登錄步驟
進入用戶目錄(c盤/用戶/?自己設(shè)置的用戶名比如admin)的.ssh文件夾 如果沒有就創(chuàng)建一個? 在用戶目錄打開黑窗 輸入 mkdir .ssh
進入.ssh的目錄 右鍵打開git的黑窗
運行生成公鑰的代碼ssh-keygen -t rsa -C "xxxxxxxx@qq.com"
復(fù)制你的公鑰代碼 打開id_rsa.pub 文件? 復(fù)制里面的所有代碼
去github的個人設(shè)置綁定你的公鑰
點擊頭像的設(shè)置 settings
點擊 SSH and GPG keys
點擊 new ssh key
把公鑰粘貼在key里面 title名任意寫(英文)
點擊add ssh key
可能會要輸入密碼? ? 輸入密碼登錄就行了