git基本命令

2021-09-13 18:44:58 字數 3442 閱讀 4396

1.git建立版本倉庫

# 建議在乙個空資料夾裡建立空的版本庫

$ git init

2.把檔案新增到版本庫
# 1.編寫乙個readme.txt檔案

vim readme.txt

# 2.新增單個檔案

git add readme.txt

# 3.新增多個檔案

git add readme1.txt readme2.txt

# 4.新增當前資料夾下所有檔案

git add .

3.把檔案提交到倉庫
# 把檔案提交到倉庫

git commit -m "本次檔案提交說明"

4.檢視檔案狀態

我們對檔案做了修改後,可以檢視修改狀態

# 檢視檔案修改狀態

git status

5.檢視檔案差異

我們對檔案做了修改後,可以檢視修改前後差異

git資料流向

工作區》暫存區》版本庫

# 檢視檔案修改差異-比較的是工作區檔案和暫存區檔案(上次git add 後的內容)的區別

git diff test1.txt

# 檢視檔案修改差異-比較的是暫存區檔案和版本庫(上次git commit 後的內容)的區別

git diff --cached test1.txt

# 檢視檔案修改差異-比較的是工作區檔案和版本庫(上次git commit 後的內容)的區別

git diff head test1.txt

6.檢視日誌
# git log命令顯示從最近到最遠的提交日誌

git log

7.版本回退
# 回退到上乙個版本

git reset --hard head^

# 回退到歷史某個版本(版本號不一定要全寫,只寫前面部分保證唯一也可)

git reset --hard ce98574451f123eb0cc1de74e1812ca5e564f98f

8.版本回退錯誤後反悔操作

回退到了某個版本,關掉了電腦,第二天早上就後悔了,想恢復到新版本怎麼辦?找不到新版本的commit id怎麼辦?

# git reflog檢視之前的每一次命令

git reflog

-----------------------------------------

ce98574 head@: reset: moving to ce98574451f123eb0cc1de74e1812ca5e564f98f

2cdd95a head@: reset: moving to head^

6e4d39d head@: commit: 提交readme.txt檔案的第二次修改

2cdd95a head@: commit: 提交readme.txt

ca05789 head@: commit: test1做了第二次修改「

b2aaf92 head@: commit: 提交test2修改

ce98574 head@: commit: 提交test1修改

595c552 head@: commit: 新增了test5檔案

bdcc4f4 head@: commit: 新增test3檔案

a9e7f16 head@: commit: 新增test4.txt

46ff1da head@: commit: 新增test1和test2兩個檔案

e21969b head@: commit (initial): 新增了乙個readme.txt檔案,作為解釋性檔案

-----------------------------------------

# 回到版本【提交readme.txt檔案的第二次修改】

git reset --hard 6e4d39d

9.放棄工作區的修改

命令git checkout – readme.txt意思就是,把readme.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

# 放棄工作區的修改

git checkout -- test1.txt

10.放棄暫存區的修改
# 把暫存區的修改撤銷掉(unstage),重新放回工作區

git reset head readme.txt

11.將本地倉庫推送到遠端倉庫
# 新增遠端庫(origin是遠端庫名,可修改)

git remote add origin [email protected]:jerryitgo/testgit.git

12.把本地庫的所有內容推送到遠端庫上

由於遠端庫是空的,我們第一次推送[master]分支時,加上了[-u]引數,git不但會把本地的[master]分支內容推送的遠端新的[master]分支,還會把本地的[master]分支和遠端的[master]分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

# 第一次推送

git push -u origin master

# 後續 推送

git push origin master

13.直接轉殖已存在的遠端庫

當遠端倉庫已經存在,我們可以直接轉殖這個遠端倉庫

git clone [email protected]:jerryitgo/learn_python3.git
github給出的位址不止乙個,還可以用這樣的位址。實際上,git支援多種協議,預設的git://使用ssh,但也可以使用https等其他協議。

使用https除了速度慢以外,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http埠的公司內部就無法使用ssh協議而只能用https。

14.拉取遠端倉庫的東西

# 簡化版命令

git pull

# 全命令

git pull origin master

git 基本命令

man git man git commit man git pull man git merge git config global user.name yourname git config global user.email yourname example.com cd home git m...

Git 基本命令

git config global user.name xx git config global user.email x com 1.建立專案資料夾 mkdir myproject 2.進入專案資料夾 cd myproject 3.初始化專案 git init 4.建立 readme.md tou...

Git 基本命令

說明 以下所有操作命令 均在 git bash 下執行,即命令為linux風格 檔案 以 txt 為例 其中,建立某乙個倉庫,在某一具體路徑下 執行 git init即可 幫助命令 git help 建立 respository git init 刪除 respository rm rf git 建...