git版本控制

2021-09-24 05:35:13 字數 1691 閱讀 4557

接git建立本地專案到同步到github

版本回退

在git中通過git log 命令檢視從最近到最遠的提交日誌,如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上–pretty=oneline引數:

需要友情提示的是,你看到的一大串類似1094adb…的是commit id(版本號),和svn不一樣,git的commit id不是1,2,3……遞增的數字,而是乙個sha1計算出來的乙個非常大的數字,用十六進製制表示,而且你看到的commit id和我的肯定不一樣,以你自己的為準。為什麼commit id需要用這麼一大串數字表示呢?因為git是分布式的版本控制系統,後面我們還要研究多人在同乙個版本庫里工作,如果大家都用1,2,3……作為版本號,那肯定就衝突了。

每提交乙個新版本,實際上git就會把它們自動串成一條時間線。

**$ git reset --hard head^**通過該命令可以將**回退到上個版本

在 windows 的 cmd 命令列下操作 git,想要回滾到上一次提交,但是輸入 git reset --hard head^ 後就顯示 more?,這是因為cmd控制台中換行符預設是 ^ ,而不是\ ,所以它的 more?的意思是問你下一行是否需要再輸入,而 ^ 符號就被當做換行符而被 git 命令忽略掉了。

解決辦法:

方法一:加引號:git reset --hard 「head^」

方法二:加乙個^:git reset --hard head^^

方法三:換成~:git reset --hard head~ 或者 git reset --hard head~1

如果回退後出現問題需要找到回退之前的那個檔案,就必須知道那個檔案在git中提交的時候的id.git提供了乙個命令git reflog用來記錄你的每一次命令,找到上次提交時的備註,找到對於的提交id,然後通過$ git reset --hard *** 就可以將該檔案恢復了。

撤消修改

當你準備將修改好的檔案提交時發現有錯誤,可以開啟檔案重新修改後提交,也可以通過git命令來撤銷修改的內容。

你可以發現,git會告訴你,git checkout – file可以丟棄工作區的修改:

$ git checkout – 123.txt

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

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

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

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

已經新增到暫存區的檔案突然發現有問題,可以通過以下操作來撤銷修改的部分:

用命令git reset head 可以把暫存區的修改撤銷掉(unstage),重新放回工作區

git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用head時,表示最新的版本。

刪除檔案

刪除的倆種方法:

一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit:

另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:

$ git checkout –

git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以恢復。

git版本控制

1.git 是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本 管理。2.git配置管理 一般,有乙個 集中庫,包含4個分支 qa才能merge production 發布生產,出現生產問題,轉hotfix 研發經理 hotfix 解決緊急生產問題,測試後轉producti...

版本控制 Git

git 是目前世界上最先進的開源的分布式版本控制系統 沒有之一 用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本...

GIT版本控制

不同情況下,實現版本回退 1.對於修改內容後,未add,未commit 可以利用git checkout 檔名 2.對於修改內容後,add,未commit get reset head 檔名 git checkout 檔名 3.對於修改內容後,add,commit 可以回到任何乙個版本 root g...