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 ...