git的一些基礎命令

Git經常使用命令

請確保已經安裝裏git客戶端

通常配置

git --version   //查看git的版本信息 git config --global user.name //獲取當前登陸的用戶 git config --global user.email //獲取當前登陸用戶的郵箱 

登陸git

/* 若是剛沒有獲取到用戶配置,則只能拉取代碼,不能修改 要是使用git,你要告訴git是誰在使用*/ git config --global user.name 'userName' //設置git帳戶,userName爲你的git帳號, git config --global user.email 'email'

建立一個文件夾

mkdir nodejs    //建立文件夾nodejs cd nodejs //切換到nodejs目錄下

初始化git倉庫

git init //在nodejs文件夾下初始化一個倉庫,此時文件裏會到一個.git的隱藏文件夾php

建立忽略文件

touch .gitignore    //不須要服務器端提交的內容能夠寫到忽略文件裏 /* .git .idea */

查看目錄

ls -al

建立文件並寫入內容

  • 若是文件不存在則會建立文件html

    echo "hello git" > index.html //將'hello git' 寫入到index.html中

    單個>箭頭表示寫入, >>表示追加node

查看文件內容

cat index.html

增長到暫存區中

git add index.html git add -A //所有添加到緩存區

增長到版本庫中

git commit -m '備註信息'

查看版本

git log --oneline

比較差別

  • 比較的是暫存區和工做區的差別nginx

    git diff 
  • 比較的是暫存區和歷史區的差別git

    git diff --cached
  • 比較的是歷史區和工做區的差別(修改)github

    git diff master

    撤回內容

    (若是修改了工做區的文件後發現改錯了,能夠用暫存區或者版本庫裏的文件替換掉工做區的文件)
  • 用暫存區中的內容或者版本庫中的內容覆蓋掉工做區sql

    git checkout index.html

    取消增長到暫存區的內容(添加時)

    git reset HEAD index.html

    //顯示目錄的狀體 有沒有添加或者修改文件緩存

    git status

刪除本地文件

rm fileName

刪除暫存區

  • 保證當前工做區中沒有index.htmlbash

    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

 

 

 

 

Git經常使用命令

請確保已經安裝裏git客戶端

通常配置

git --version   //查看git的版本信息 git config --global user.name //獲取當前登陸的用戶 git config --global user.email //獲取當前登陸用戶的郵箱 

登陸git

/* 若是剛沒有獲取到用戶配置,則只能拉取代碼,不能修改 要是使用git,你要告訴git是誰在使用*/ git config --global user.name 'userName' //設置git帳戶,userName爲你的git帳號, git config --global user.email 'email'

建立一個文件夾

mkdir nodejs    //建立文件夾nodejs cd nodejs //切換到nodejs目錄下

初始化git倉庫

git init //在nodejs文件夾下初始化一個倉庫,此時文件裏會到一個.git的隱藏文件夾

建立忽略文件

touch .gitignore    //不須要服務器端提交的內容能夠寫到忽略文件裏 /* .git .idea */

查看目錄

ls -al

建立文件並寫入內容

  • 若是文件不存在則會建立文件

    echo "hello git" > index.html //將'hello git' 寫入到index.html中

    單個>箭頭表示寫入, >>表示追加

查看文件內容

cat index.html

增長到暫存區中

git add index.html git add -A //所有添加到緩存區

增長到版本庫中

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
相關文章
相關標籤/搜索