1. 程式人生 > >git操作,轉自最騷的就是你

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的隱藏資料夾

建立忽略檔案
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

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協議([email protected]thub.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

本地專案上傳遠端倉庫
在遠端建立倉庫
本地倉庫
git init
git add .
git commit
git push 提示:git push --set-upstream origin master提示:failed to push some refs to ‘https://gitee.com/super_happy_polaris/backstage.git
然後輸入:git pull --rebase origin master
git push origin master
上傳成功