git 詳細命令

2022-02-18 06:34:14 字數 3126 閱讀 9167

先進入到倉庫的檔案下然後執行

git commit -m'提交描述' >> 暫存區提交到本地倉庫

git push origin master >> 推送到遠端倉庫的指定分支;要指定本地分支

git push origin dev >> 推送其他分支,比如dev

$ git remote -v

origin [email protected]:michaelliao/learngit.git (fetch)

origin [email protected]:michaelliao/learngit.git (push)

上面顯示了可以抓取和推送的origin的位址。如果沒有推送許可權,就看不到push的位址。

git remote rm origin

git reset

1.reset 引數詳情:

git reset --mixed head~ (--mixed 為預設值可以不寫)

git reset --soft head~

git reset --hard head~

git reset ox12245(版本號);

向前向後回滾; git log 中的id號,只需前4位就可以識別。如果找不到後面的版本號,使用git reflog 命令;檢視所有

引數說明

--mixed 當執行了此命令後會發生兩個操作

移動了head的指向

將head移動後的指向的版本更新(回滾)到暫存區

(兩棵樹)結果就是會改暫存區的樹和git倉庫的樹

--soft 當執行了此命令後會發生兩個操作

移動了head的指向

(一顆樹)結果就是會修改和git倉庫的樹

--soft 相當於撤銷上次的commit

--hard 當執行了此命令後會發生三個操作

移動了head的指向

將head移動後的指向的版本更新(回滾)到暫存區

將暫存區指向的版本更新(回滾)到工作區域

(三顆樹)結果就是會修暫存區的樹和git倉庫的樹以及工作區的**

--hard 存在為刪除**的危險

2. git checkout

用法一: 切換分支

用法二: 放棄修改,更新工作區的**從(暫存區或指定版本更新)

checkout 就是更新工作區**

3. reset 和 checkout 總結

檔案恢復(指定檔案)

注意;上述提到 reset --hard會強制更新三顆樹,但在指定檔案時,reset的soft和hard命令此時不允許使用

快照恢復

git reset --hard 分支名

reset也可以加分支進行更新,會將head指向的分支和head本身都切換,就是說主線的** 就會丟失

head: 當前commit提交

head 是 git 中乙個獨特的引用,它是唯一的

所謂當前 commit這個概念很簡單,它指的就是當前工作目錄所對應的 commit。

例如上圖中的當前 commit 就是第一行中的那個最新的 commit。

每次當有新的 commit 的時候,工作目錄自動與最新的 commit 對應;而與此同時,head 也會轉而指向最新的 commit。

事實上,當使用 checkout、reset 等指令手動指定改變當前 commit 的時候,head 也會一起跟過去。

head、master 與 branch;

這個文章很好;

工作區和git倉庫

暫存區和git倉庫

git倉庫和git倉庫

修改desc

刪除誤提交的檔案

git rm --cached 檔名 >>> (只刪除暫存區,保留工作工作區)

修改檔名

@@ -1,3 +1,6 @@

理解:就是乙個特殊的引用;和head相同,指向乙個commit提交;但是不是唯一的

分支

合併

合併後出現fast-forward 代表合併時沒有衝突

fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。

強制禁用fast forward模式,git就會在merge時生成乙個新的commit,所以需要加入新的提交描述;

bug分支
當乙個bug存在與連個分支上,修改一次後,可以將其複製一次提交,就不用重複操作了

decorate 顯示指向的引用

預設標籤是打在最新提交的commit上的,有時候,如果忘了打標籤,比如,現在已經是周五了,但應該在周一打的標籤沒有打,怎麼辦?

方法是找到歷史提交的commit id,

建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字

因為建立的標籤都只儲存在本地,不會自動推送到遠端。所以,打錯的標籤可以在本地安全刪除。

-f --cached

git的三棵樹;

工作區暫存區;

git倉庫

1、提交管理

當要切分支的時候,svn就得把所有的檔案複製到另乙個分支上嗎,而git由於滅乙個提交都是獨立的,只需要建立乙個指標(即分支)指向相應的提交即可

git 實用教程 :阮一峰

Git命令 超詳細

初始化命令 git init 創立乙個.git隱藏資料夾 把所有的修改的檔案新增到大門口 git add 把倉儲門口的 放到裡面的房間中去 git commit m 一些說明 表示是把所有修改的檔案提交到版本庫 git commit all m 一些說明 檢視當前的狀態 git status 檢視歷...

Git 詳細命令大全

建立版本庫 建立目錄 mkdir dirctory 切換目錄 cd directory 顯示當前目錄 pwd 把當前目錄變成git倉庫 git init 提交 新增特定檔案到暫存區 git add file 新增特定資料夾所有檔案到暫存區 git add 提交檔案到倉庫 git commit m m...

git常用詳細命令

git init 本地庫初始化 git config global user.name aaa 配置本地全域性git使用者名稱 git config global user.email 郵箱位址 配置本地全域性git郵箱 git clone url位址 轉殖專案 git remote add ori...