git的一些基礎命令
Git經常使用命令
通常配置html
git --version //查看git的版本信息 git config --global user.name //獲取當前登陸的用戶 git config --global user.email //獲取當前登陸用戶的郵箱
登陸git
/ 若是剛沒有獲取到用戶配置,則只能拉取代碼,不能修改 要是使用git,你要告訴git是誰在使用/node
git config --global user.name 'userName' //設置git帳戶,userName爲你的git帳號, git config --global user.email 'email'
建立一個文件夾git
mkdir nodejs //建立文件夾nodejs cd nodejs //切換到nodejs目錄下
初始化git倉庫github
git init //在nodejs文件夾下初始化一個倉庫,此時文件裏會到一個.git的隱藏文件夾
查看目錄緩存
ls -al
建立文件並寫入內容
若是文件不存在則會建立文件app
echo "hello git" > index.html //將'hello git' 寫入到index.html中
單個>箭頭表示寫入, >>表示追加ssh
查看文件內容網站
cat index.html
增長到暫存區中code
git add index.html git add -A //所有添加到緩存區
增長到版本庫中htm
git commit -m '備註信息'
查看版本
git log --oneline
比較差別
比較的是暫存區和工做區的差別
git diff
比較的是暫存區和歷史區的差別
git diff --cached
比較的是歷史區和工做區的差別(修改)
git diff master
撤回內容
(若是修改了工做區的文件後發現改錯了,能夠用暫存區或者版本庫裏的文件替換掉工做區的文件)
用暫存區中的內容或者版本庫中的內容覆蓋掉工做區
git checkout index.html
取消增長到暫存區的內容(添加時)
git reset HEAD index.html
//顯示目錄的狀體 有沒有添加或者修改文件
git status
刪除本地文件
rm fileName
刪除暫存區
保證當前工做區中沒有index.html
git rm index.html --cached
使用--cached 表示只刪除緩存區中的內容
回滾版本
回滾最近的一個版本 git log
git reset --hard HEAD/commit_id
回滾到將來
git reflog
分支管理
建立分支
git branch dev
切換分支
git checkout dev
建立分支並切換分支
git checkout -b dev
刪除分支
git branch -d dev
在分支上提交新的版本
git commit -a -m 'dev1'
合併分支
git merge dev
分支的合併後顯示log
git log --oneline --graph --decorate
在分支開發的過程當中遇到其餘問題須要切換其餘分支
保留寫好的內容在切換到主幹
保留內容
git stash
在次切換分以後須要應用一下保留的內容
git stash apply
丟掉保存的內容
git stash drop
使用並丟掉
git stash pop
最佳分支
-有的時候開發須要合併指定的內容,而不是合併全部的提交,因此咱們須要挑選最好的,本身生產版本
合併分支把樹杈掰到主幹上
git rebase
添加遠程的倉庫
push -u -u參數 upstream git push origin master -u //獲取最新代碼
鏈接遠程倉庫
git remote add origin 倉庫的地址
查看遠程倉庫
git remote -v
刪除遠程倉庫
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"
與添加有關的:
將當前目錄變爲倉庫:git init 將文件添加到暫存區:git add 文件名 [可選:另外一個文件名] 將暫存區提交到倉庫:git commit –m "描述"
與查詢有關的:
查詢倉庫狀態:git status 比較文件差別(請在git add以前使用):git diff 文件名 查看倉庫歷史記錄(詳細):git log 查看倉庫歷史記錄(單行):git log --pretty=online 或 git log --online 查看全部版本的commit ID:git reflog
與撤銷有關的:
撤銷工做區的修改:git checkout -- 文件名 撤銷暫存區的修改:git reset HEAD 文件名 回退到歷史版本:git reset --hard 該版本ID 回退到上個版本:git reset --hard HEAD^ 上上版本是HEAD^^,也可用HEAD~2表示,以此類推
與標籤有關的:
爲當前版本打標籤:git tag 標籤名 爲歷史版本打標籤:git tag 標籤名 該版本ID 指定標籤說明:git tag –a 標籤名 –m "標籤說明" [可選:版本ID] 查看全部標籤:git tag 查看某一標籤:git show 標籤名 刪除某一標籤:git tag –d 標籤名
與GitHub有關的:
先有本地庫,後有遠程庫,將本地庫push到遠程庫 關聯本地倉庫和GitHub庫:git remote add origin 網站上的倉庫地址 第一次將本地倉庫推送到GitHub上:git push –u origin master 先有遠程庫,後有本地庫,從遠程庫clone到本地庫 從遠程庫克隆到本地:git clone 網站上的倉庫地址 網站地址能夠選擇HTTPS協議(https://github.com...)、SSH協議(git@github.com...)。 若是選擇SSH協議,必須將Ubuntu的公鑰添加到GitHub上。見下一步
SSH Key
生成SSH Key:ssh-keygen –t rsa –C "你的郵箱@xx.com" 生成Key時彈出選項,回車選擇默認便可。 Key保存位置:/root/.ssh 登錄GitHub,建立new SSH key,其內容爲/root/.ssh/id_rsa.pub中文本 已經有了本地庫和遠程庫,兩者實現同步 本地庫的改動提交到遠程庫:git push origin master 更新本地庫至遠程庫的最新改動:git pull通常配置