第一篇:Git操作詳解


最近由於項目的需要,我需要負責整個項目的托管,其中涉及到很多Git相關的命令,所以就將之前用到的git相關的命令做了一個總結和歸納。由於開發環境是Linux,所以我接下來的操作命令均針對Linux環境。

git是一個開源的分布式的版本控制系統,主要用於項目的管理。

分布式:git使用分布式管理。即每個節點關系平等,都保存完整代碼,節點之間相互推送或者下載代碼。

集中式:有明確的中央服務器統一管理代碼,每個節點都將代碼上傳中央服務器或者從中央服務器下載代碼。

一、git安裝准備與配置

1、git安裝

$ sudo apt-get install git
$ git --version 查看當前git版本

2、git的基本配置

2.1、系統中所有用戶均使用的配置

命令:sudo git config --system
配置文件:/etc/gitconfig
e.g. 配置用戶名
cassie@com:~$ sudo git config --system user.name Cassie
cassie@com:~$ cat /etc/gitconfig
[user]
name = Cassie


2.2、當前用戶的所有項目均使用的配置

命令:git config --global
配置文件:~/.gitconfig
e.g. 配置用戶郵箱
cassie@com:~$ git config --global user.email cassie@qq.com
cassie@com:~$ cat ~/.gitconfig
[user]
email = cassie@qq.com
name = 0513Cassie


2.3、只在當前項目中使用的配置

命令:git config (命令只要在git項目文件夾中執行)
配置文件:project/.git/config

e.g.配置編譯器
git config core.editor vscode

二、git操作

下面這種圖是我在網上看到的一張關於git操作總結的一張圖,下面我將按照這張圖片進行一個Git相關命令行的操作總結。

![](https://user-gold-cdn.xitu.io/2018/11/2/166d3a92f4930bda?w=554&h=157&f=png&s=61714)

首先,對上圖的幾個概念進行講解一下:
- 工作區(workspace):通過自己的主機操作的git目錄。
- 暫存區(index):用來記錄工作行為的,即所有的操作git的記錄,作為一個暫時保存。
- 本地倉庫(Repository):本地用來備份同步工作區內容的區域。
- 遠程倉庫(Remote):其他主機的git。

2.1、工作區、緩存區、本地倉庫之間數據操作

初始化倉庫

$ mkdir gittest
$ cd gittest
$ git init


查看工作分支的狀態

$ git status
* 當工作區和倉庫沒有任何差異的時候不會有任何提示
* 默認工作分支為master,可以通過創建新的分支進行切換


文件提交到暫存區

$ git add [file]
$ git add * 全部提交
* 可以一次提交多個內容,中間用空格隔開
* 提交的內容可以是文件也可以是文件夾

刪除暫存區的記錄

刪除內容為文件:
$ git rm --cached 文件名稱
刪除內容為文件夾:
$ git rm --cached 文件夾名稱 -r

將暫存區記錄的修改內容同步到本地倉庫

$ git commit -m "message"

查看提交日志

$ git log
$ git log --pretty=online 日志單行顯示

2.2、工作區操作

查看工作區文件和本地倉庫的差別
$ git diff [file]

放棄工作區的修改
$ git checkout -- [file]

恢復本地倉庫文件到工作區
$ git checkout [file]

2.3、文件移動

刪除工作區文件並提交到暫存記錄
$ git rm [file]

移動工作區文件並提交到暫存區
$ git mv file dir

2.4、版本控制命令

回到之前的版本
$ git reset --hard HEAD^
* HEAD后面有幾個^表示回到之前的幾個版本


通過commit_id回到指定的版本
$ git reset --hard commit_id

查看操作日志
$ git relog
* 獲取到操作記錄后可以根據commit_id去往比較新的版本

2.5、標簽管理(屬於本地倉庫的操作)

創建標簽
$ git tag v1.0
*默認會在最新的commit_id

查看標簽
git tag 查看所有標簽
git show v2.0 查看某個標簽的具體信息

在某個指定的commit_id處打標簽
$ git tag v1.0 [commit_id]

恢復標簽時的狀態
$ git reset --hard v1.0

刪除標簽
git tag -d v2.0

3、常見問題

3.1、git reset --hard commit_id 誤操作如何回到之前的版本

注意git log 命令是查看提交日志,所以如果我們進行上面的回到之前的版本在git log里面是無法查看commit_id的,這時候我們就需要使用 git reflog命令。

注意:git reflog命令是查看操作日志的,在這里我們可以查到所以操作的詳細信息,

拿到commit_id 之后,通過git reset --hard commit_id這個命令回到指定版本即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM