Git 常用命令總結

2021-08-29 22:48:22 字數 4245 閱讀 3626

請確保已經安裝了git客戶端
一般配置

git --version //檢視git的版本資訊

git config --global user.name //獲取當前登入的使用者

git config --global user.email //獲取當前登入使用者的郵箱

/* 如果剛沒有獲取到使用者配置,則只能拉取**,不能修改 要是使用git,你要告訴git是誰在使用*/

git config --global user.name 'username' //設定git賬戶,username為你的git賬號,

git config --global user.email 'email'

mkdir nodejs //建立資料夾nodejs

cd nodejs //切換到nodejs目錄下

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
git log --oneline --graph --decorate
保留寫好的內容在切換到主幹

保留內容

git stash
git stash drop
git stash pop
-有的時候開發需要合併指定的內容,而不是合併所有的提交,所以我們需要挑選最好的,自己生產版本

git rebase
-u引數 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"

將當前目錄變為倉庫:git init

將檔案新增到暫存區:git add 檔名 [可選:另乙個檔名]

將暫存區提交到倉庫:git commit –m "描述"

查詢倉庫狀態:git status

比較檔案差異(請在git add之前使用):git diff 檔名

檢視倉庫歷史記錄(詳細):git log

檢視倉庫歷史記錄(單行):git log --pretty=onlinegit 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 標籤名

先有本地庫,後有遠端庫,將本地庫push到遠端庫

第一次將本地倉庫推送到github上:git push –u origin master

先有遠端庫,後有本地庫,從遠端庫clone到本地庫

**位址可以選擇https協議()、ssh協議([email protected]...)。

如果選擇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常用命令總結

原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...

git常用命令總結

一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...

git常用命令總結

檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...