Git 版本控制的基本使用教程

2021-08-08 17:46:05 字數 3518 閱讀 3232

git 官網

git init

初始化當前目錄為乙個git倉庫,會在當前目錄下建立乙個.git資料夾

git status

檢視資料夾下所有檔案在版本庫、暫存區、工作區等狀態

四種狀態

committed:已處於暫存狀態

staged:已修改檔案新增到了暫存區

modified:暫存區檔案修改但是還沒有新增到版本庫

untracked:檔案未新增到暫存區中

三層結構

working directory 工作區 - 編寫狀態

staging index 暫存區 - 提交到本地

git directory (repository) 版本庫 - 提交後 = commit 之後

git add

git add . 新增該檔案下的所有檔案到暫存區

git add index.html 只新增該檔案到暫存區

git config (git 環境配置)

git config --global user.name 你的名字

git config --global user.email 你的郵箱

git config --list (檢視git 的配置詳細資訊)

git commit -m "一句英文解釋這次提交到本地的版本庫的說明、解釋、修改了什麼"

git commit -am "一次性提交檔案到本地的版本庫中" => 將兩個命令和在一起了

相當於 git add . 和 git commit -m ""

git log

檢視git 提交日誌

git log --oneline

只檢視所有版本庫號和commit 後面的說明

給遠端位址重名乙個短的名稱

git remote -v

檢視新增的遠端倉庫

git remote rename oldname newname

git commit --amend

撤銷上一次的提交,然後再次重新提交,可以修改上次提交到版本庫的說明資訊

也就是相當於重新提交暫存區的內容到版本庫

也就是可以修改上次版本庫的描述說明資訊,其他內容都不變

git checkout -- 檔名

可以從暫存區中恢復某個檔案到工作區

如果檔名是.則表示恢復全部檔案

git reset head 檔名

如果檔案已經提交到版本庫中,那麼這個命令就是從版本庫中拉回到暫存區,工作區的內容不變

也就是把這個檔案在暫存區中恢復到版本庫的上乙個版本

head = 最新提交版本的版本庫號,當然這個head也可以換成某乙個版本號來恢復

git reset --hard 版本號 工作區、暫存區、版本庫都返回到指定版本

git reset --mixed 版本號 暫存區、版本庫都返回到指定版本

git reset --soft 版本號 版本庫返回到指定版本

git rm 檔名

刪除工作區和暫存區對應的檔案,兩個檔案必須都是一樣的,未修改過的

git rm --cached 檔案

刪除暫存區的檔案

git rm -f 檔案

刪除暫存區和工作區的檔案,無論一致不一致

git mv 舊檔名 新檔名

修改了工作區檔名稱,並提交到了暫存區

也就是先修改了檔名,然後使用了git add .

git branch

檢視git 的所有分支

* master (* 代表當前的分支)

git branch 分支名

建立新的分支,版本庫和現有的分支是一樣的

git branch -b 分支名

建立新分支並切換到該分支

git checkout 分支名

切換分支

git branch -d 分支名

刪除某個分支,但是不能刪除當前正在所處於的分支

刪除前要切換到其他分支

git push origin :遠端分支名 (origin 後面有空格)

刪除遠端分支

git branch -m 舊分支名 新分支名

重新命名某個分支

指標相關

git merge 分支名

將當前所在分支和指定分支合併

如果兩個版本有不同的檔案,git會提醒,需要手動檢視不同的檔案修改

git diff

比較工作區和暫存區的差別

git diff --staged

比較暫存區和版本庫的差別

git diff 版本號 版本號

比較兩個版本庫之間的差別

git diff 分支名 分支名

比較兩個分支之間的差別

git stash

git stash list

git stash aplly stash@

git stash pop stash@

git stash drop stash@

用的比較少

模型

git fetch origin master 相當於是從遠端獲取最新版本到本地,不會自動merge(更安全)

git pull origin master 從遠端獲取最新版本並merge到本地,會merge

git push github遠端位址 分支名

git push remote的簡稱 分支名

提交到遠端伺服器,提交到哪乙個分支下

ssh-keygen

如果連線是用ssh方式,就需要建立秘鑰

生成的預設路徑是在c盤我的文件中.ssh資料夾,其中檔案type是pub file表示公鑰檔案

git init --bare

建立乙個初始化的裸露倉庫

ssh 免密登陸

ssh-copy-id root@ip位址

將本地的公鑰複製到遠端伺服器上

git fetch 遠端 分支名

.gitignore

忽略哪些檔案上傳

規則:* 匹配0或多個任意字元

[abc] 匹配任何乙個列在方括號中的字元

? 匹配乙個任意字元

[0-9]、[a-z] 匹配範圍

git help 命令

2、其他優秀的git學習參考文件 - 參考文件

Git 版本控制使用

git是乙個 分布式 的版本控制工具 git的作者是linux之父 linus benedict torvalds,當初開發git僅僅是為了輔助linux核心的開發 管理源 git在國外已經很普及,在國內已經慢慢普及了。結構 svn是 集中式 的版本控制,git是 分布式 版本控制 速度 多數情況下...

Git 版本控制使用

git initgit remote add origin git add a git add git commit m git push git push origin mastergit pull origin master從本地倉庫 git clone path to repository如果...

Git 版本控制的使用

這個記錄的只是個人在git的學習中的自己的一些感悟 不適合初學者用來學習 要詳細的學習推薦 android studio中使用git git遠端操作命令詳解 一 設定git git版本控制專案的根目錄 方法一 先在git bash上定位到專案的目錄 在將該目錄設定為git的根目錄 git init ...