Git本地操作

2021-06-29 05:30:42 字數 2530 閱讀 6808

git菜鳥只能執行八步走戰略,沒有問題還好,一遇到問題就傻了

還是把八步走貼出來,方便跟我一樣的菜鳥:

1、git status

2、git checkout:忽略修改的檔案(可省略)

3、git status

4、git add --all

5、git commit -m "修改說明"

6、git fetch

7、git rebase

8、git push --no-thin origin head:refs/for/master

今天決定把git再擼一遍!

pwd:顯示當前目錄

git init:把當前目錄變成git可以管理的倉庫(多出來的.git目錄是git用來跟蹤管理版本庫的)

git add:把檔案新增到倉庫

git commit -m "":把檔案提交到倉庫

初始化乙個git倉庫,使用git init命令。

新增檔案到git倉庫,分兩步:

git status

:檢視倉庫當前狀態

git diff

:檢視具體修改的內容

git log:顯示從最近到最遠的提交日誌(

如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上--pretty=oneline引數

git reset

:回退版本(head表示當前版本,head^上乙個版本,head~100往上100個版本)

git reset --hard head^

git reset --soft head^:回退到上乙個版本(不刪除暫存區內容)

git reflog:記錄你的每一次命令

工作區:本地資料夾

版本庫:工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。版本庫里有乙個很重要的暫存區stage。

我們把檔案往git版本庫里新增的時候,是分兩步執行的:

第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;

第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

檢視工作區和版本庫裡面最新版本的區別

每次修改,如果不add到暫存區,那就不會加入到commit中。

git checkout -- file:丟棄工作區修改

git reset head file:丟棄暫存區的修改

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。

rm:刪除工作區檔案

git rm:刪除版本庫的檔案

一般情況下,你通常直接在檔案管理器中把沒用的檔案刪了,或者用rm命令刪了

這個時候,git知道你刪除了檔案,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些檔案被刪除了

現在你有兩個選擇,一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit,

現在,檔案就從版本庫中被刪除了。

另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本,git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」。

命令git rm用於刪除乙個檔案。如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復檔案到最新版本,你會丟失

最近一次提交後你修改的內容。

Git的本地操作

1.初始化git倉庫 有.git隱藏檔案 git init git non bare repo 其中git non bare repo為新建倉庫的名字2.建立乙個裸倉庫 沒有.git隱藏檔案 git init bare git bare repo3.在已有的工作環境納入git的管理 例如 mkdir...

git 本地庫的操作

一 建立git倉庫 4 一般使用場景是公司的伺服器使用git init bare 建立乙個倉庫並add commit新增好工程後,開發人員本地使用git clone url ex git clone user 123.57.142.home user project git 命令clone乙份工程。...

Git 本地庫操作總結

本文只是對git命令的總結,方便以後查閱 詳細操作過程請看 廖雪峰git教程 建立版本庫 git init 將檔案放到暫存區 stage git add 提交到版本庫 git commit m 檢視當前狀態 git status 檢視當前工作區的修改與版本庫有什麼不同 git diff txt gi...