Git的相關操作 一

2021-09-29 04:09:00 字數 3522 閱讀 8618

git是乙個最強大的分布式版本管理系統,通過c語言進行開發,且不同於集中式版本控制系統

1.並沒有**管理器,每個人的電腦都是乙個版本庫,相互只需要將修改推送給對方即可,所以不用聯網

2.分布式版本管理系統的安全效能高,因為並沒有所謂的**管理器,每個人的電腦都是乙個版本庫,所以並不用擔心電腦壞掉後,無法工作

3.強大的分支管理

所有的版本控制系統,其實只能跟蹤文字檔案的改動,比如txt檔案,網頁,所有的程式**等

1.安裝

2.配置

$ git config --global user.name "你的git賬號使用者名稱"

$ git config --global user.email "你的git賬號的郵箱"

-------此為全域性配置

————因為git是乙個版本控制系統,所以每個機器都必須自報家門:賬號 郵箱

3.建立git倉庫(版本庫)

————建立乙個空的資料夾,將其轉化為git可管理的版本庫

$ git init

----初始化git倉庫,轉化為git可管理的版本庫

————可以看到在當前目錄下,會有乙個隱藏的 .git目錄

4.將需要管理的檔案放在本地版本庫中,即新建立的git的版本庫下

————將檔案放在git倉庫中

$ git add readme.txt(需要管理的檔名)—————告訴git,將檔案的修改新增到倉庫中

$ git commit -m "write a file(本次提交的說明)"————告訴git,將檔案的修改提交到倉庫中

————可以add多個檔案,然後commit一次性提交到倉庫:

$ git add readme.txt

$ git add 1.txt 2.txt

$ git commit -m "add three files"

————git commit命令成功後,會輸出和告訴使用者,

----- file changed(新新增的檔案)

-----insertions (檔案內容裡面插入的多少行)

1.檢視git倉庫的狀態

$ git status -------即倉庫中有檔案被修改,有檔案被刪除等,大致的改變
2.檢視檔案改變的內容

$ git diff  -------檢視git倉庫中具體改變的某內容,即什麼檔案被修改,修改的內容
3.提交修改後的檔案

提交修改過後的read.txt檔案:

$ git add read.txt-----但git控制台中並沒有輸出內容

------可以通過$ git status檢視git倉庫的狀態,是否已經儲存和新增到版本庫中

$ git commit -m "add a txt"-----進行提交

------可以通過$ git status檢視倉庫的當前的狀態,會提示,其倉庫中已經沒有什麼可以進行提交的了

1.檢視歷史記錄

--------檢視檔案被修改的歷史記錄,即檢視提交的日誌

$ git log -------提交的日誌,當時提交檔案的修改內容(即使用commit命令提交時,所書寫的描述內容),以及當時的commit id(git的版本號),一大串數字

2 .版本回退

--------回退到某個之前提交時的版本

--------首先git必須知道是哪個版本,也就是哪個commit id(一大串數字的哪個),且用head表示當前版本, head^ 表示上乙個版本,head^^ 表示上上個版本

$ git reset --hard head^  ------表示回退到上乙個版本

$ git reset --hard head^^ ------表示回退到上上乙個版本

$ git cat readme.txt --------檢視當前版本readme.txt檔案的內容,即提交的內容,也可檢視某檔案的內容

3 .回退後,想回到未來的某個版本

---------當回退到歷史版本後,最新的版本可能將會被覆蓋掉。即只能回到過去,並不能回到未來

---------可指定某個版本,告訴其版本的id

$ git reset --hard 1094a(某個指定版本的版本號id。可取前幾位)

---------git中版本回退的速度非常快,因為git內部存在有指向當前版本的head指標,當回退版本時,其實只是

指標的指向發生改變,從乙個指標指向另乙個指標

4 .回退後,想回到最新版本,但忘記最新版本的commit id

----------$ git reflog  --------可以檢視操作的每一條命令和每次提交commit的版本號id
5 .撤銷修改

----------當檔案中發現多新增了一行,多刪除了一行,想撤銷

----------1. 丟失工作區的修改

------$ git checkout -- file(檔名,不一定是file)  -----可以丟失工作區的修改,即撤銷此檔案在工作區的修改

------當檔案還沒有新增到暫存區,則會返回到和版本庫一模一樣的狀態

------當檔案已經新增到暫存區,則會返回到新增到暫存區後的狀態

----------2. 工作區的修改已經新增到暫存區,想丟失修改

------$ git reset head readme.txt(檔名)  ------將暫存區的修改撤銷掉,重新放回到工作區

------即回退到之前的版本,回到已經工作區修改,但還未新增到暫存區的狀態

------$ git checkout --readme.txt

-----版本回退後,通過checkout丟失工作區的修改

6 .刪除檔案

---------當檔案刪除時,同樣是乙個操作

---------當檔案add,且commit提交後,在檔案管理器中刪除檔案,此時的提交後的版本庫中存在此檔案

1.確實需要刪除版本庫中的某檔案

--------$ git rm test.txt -----------刪除版本庫中的test.txt檔案

2.誤刪

--------$ git checkout --test.txt --------撤銷修改,返回到之前的狀態

Git 相關的操作

1 本地分支和遠端分支關聯 a 建立本地分支 git checkout b test 提交到遠端分支上 git push origin test 遠端分支上也建立了test分支 b 刪除本地分支 git branch d test 刪除的不是本地正在開發的分支 git branch d test 強...

git 的相關操作

檢視目前倉庫可以遠端更新的資訊 git remote v 配置乙個遠端更新鏈結,要擁有git倉庫訪問許可權的 git remote add upstream 拉取遠端倉庫的 git fetch upstream 合併遠端倉庫的 git merge upstream master 把遠端倉庫的 作為新...

git 相關操作

merge 比如在上feature 4.2修改,commit push後,切換到dev分支 1 commit push 2 checkout dev 分支。3 git pull origin dev 4 git merge no ff origin feature 4.2 把feature 4.2上...