tft每日頭條

 > 遊戲

 > git客戶端操作

git客戶端操作

遊戲 更新时间:2024-10-14 16:11:31

  從遊戲存檔說起 讓我們來考慮這樣一個場景:你正在玩一款很好玩的遊戲,玩到緊要關頭,正在這個時候,你媽喊你吃飯了,你該怎麼辦?此時,你可以按下暫停鍵,先去吃飯,吃完飯再回來繼續進行遊戲。但是假如你吃飯的時候,突然停電了,那你之前的成果就全部白費了。不過,一般遊戲都會提供存檔功能,一般有兩種方式:

  自動存檔:你隻要到了固定的存檔地點,遊戲自動幫你存檔,當你再次開始遊戲的時候,自動幫你從存檔點恢複手動存檔:提供存檔菜單,可以保存遊戲存檔,當需要進行存檔時,進行對應的存檔操作即可。 兩種存檔方式各有優缺點:

  自動存檔不需要玩家進行存檔操作,比較方便,不過不能在玩家想存檔的地方進行存檔,例如上面的場景中,如果你媽喊你吃飯時,還沒有到遊戲存檔點,那你就無法立即停下遊戲。而手動存檔可以滿足上面的場景,可以立即進行存檔操作,不過需要玩家自行進行存檔操作。如果在遊戲過程中突然停電了,那玩家會比較抓狂。同時一般手動存檔提供有限的存檔空間,例如10個。當你使用完了10個存檔點後,需要繼續存檔時,則隻能選擇覆蓋曆史存檔。 回到我們的主題上,我們要聊的git是一個版本控制軟件,其功能和遊戲的手動存檔很類似,主要有兩個區别:

  git支持無限存檔git支持分布式 我們先說存檔,分布式後面再聊。

  使用Git模拟存檔 我們來用git模拟一下我們玩遊戲的場景。随便進入一個目錄,使用如下命令來開始我們的遊戲:git init mario 執行完成後,會發現目錄下新增了一個名叫mario的目錄。我們進入這個目錄,會發現這個目錄下面什麼都沒有。

  git的安裝與配置請自行搜索

  我們新建一個文件player.txt模拟遊戲進度。假設我們現在開始馬裡奧的第一關,此時遊戲畫面如下:

  ******** ************ ####....#. #..###.....##.... ###.......###### ........... ##*####### 0 - 0 ####*******###### ...#***.****.*###.... ....**********##..... ....**** *****.... #### #### ###### ######

  此時我們執行一下git status命令,會出現如下信息:

  On branch master No commits yet Untracked files: (use git add ... to include in what will be committed) player.txt nothing added to commit but untracked files present (use git add to track)

  可以看到,目前的player.txt是沒有被追蹤的,也就是沒有進行存檔。同時我們通過git log指令,可以看到,目前沒有任何的存檔記錄。

  fatal: your current branch master does not have any commits yet

  我們想對其進行存檔操作,那我們可以執行下面的命令:

  git add player.txt git commit -m m00

  執行完成後,我們執行git log指令,可以看到類似如下信息:

  commit b0d5581b592f3d5faaca744e88eed604f2289904 (HEAD - master) Author: 柔性思維 Date: Wed Mar 16 14:05:19 2022 0800 m00 (END)

  這就是我們的一條存檔記錄。此時,我們繼續進行遊戲,遊戲畫面變為:

  ******** ************ ####....#. #..###.....##.... ###.......###### ........... ##*####### 0 - 1 ####*******###### ...#***.****.*###.... ....**********##..... ....**** *****.... #### #### ###### ######

  此時,我們繼續執行上面的操作,進行存檔:

  git add player.txt git commit -m m01

  執行完成後,我們執行git log指令,可以看到如下存檔信息:

  commit d3a1237365e2b2f1ceaf2939b35f6fca5ce99812 (HEAD - master) Author: 柔性思維 Date: Wed Mar 16 14:09:59 2022 0800 m01 commit b0d5581b592f3d5faaca744e88eed604f2289904 Author: 柔性思維 Date: Wed Mar 16 14:05:19 2022 0800 m00 (END)

  此時,如果我希望想查看第一個存檔點的内容,那我可以執行如下命令:

  git checkout b0d5581b

  然後執行cat player.txt 你就能看到内容回到了第一次保存的内容。此時我們可以從這個存檔開始繼續遊戲,打開player.txt,假設玩到了0-2:

  ******** ************ ####....#. #..###.....##.... ###.......###### ........... ##*####### 0 - 2 ####*******###### ...#***.****.*###.... ....**********##..... ....**** *****.... #### #### ###### ######

  此時我們需要新開一個流程:

  git switch -c load-00

  然後我們再存檔:

  git add player.txt git commit -m m00-1

  使用git log命令,我們可以看到類似下面的信息:

  commit 79bd5c56e020eeb47919be29b29928e7397c1929 (HEAD - load-00) Author: 柔性思維 Date: Wed Mar 16 15:46:39 2022 0800 m00-1 commit b0d5581b592f3d5faaca744e88eed604f2289904 Author: 柔性思維 Date: Wed Mar 16 14:05:19 2022 0800 m00

  很奇怪,為什麼m01這個存檔消失了呢?因為存檔在m00那邊産生了分叉:

  m00 / \ m01 m00-1 ----- 我們在這裡

  從這裡往回看,我們隻能看到m00-1和m00。我們切換到m01處,再使用git log看一下。

  git checkout master git log

  我們就能看到m01了。

  commit d3a1237365e2b2f1ceaf2939b35f6fca5ce99812 (HEAD - master) Author: 柔性思維 Date: Wed Mar 16 14:09:59 2022 0800 m01 commit b0d5581b592f3d5faaca744e88eed604f2289904 Author: 柔性思維 Date: Wed Mar 16 14:05:19 2022 0800 m00

  現在我就可以以兩條路線來進行遊戲的存檔保存了。

  總結 在快速理解Git一文中,我們已經介紹了工作區、暫存區/索引區、版本庫這幾個概念,如果不太記得了可以回去複習一下。本文實際是Git本地版本管理的一個簡單實例,展示了每次操作後,Git版本庫中的不同變化。相關流程如下所示:

  git客戶端操作(從遊戲存檔聊聊Git版本管理)(1)

  下文,我們将詳細聊一聊分支。

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关遊戲资讯推荐

热门遊戲资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved