git 寶典
git born & history
git local or client
install
- linux 使用 包管理安裝 或者 編譯安裝(還不會)
- mac os 直接 安裝 Xcode command line tool
- windows 安裝 msysgit
初次使用時(shí)泛豪,使用 git config 配置 git 工作環(huán)境
- git config--system 此命令對系統(tǒng)所以用戶都適用 贷祈。配置文件~/etc/gitconfig
- git config --global 用戶目錄下的配置文件,只使用于該用戶腋妙。文件位置
~/.gitconfig
- git config 直接配置當(dāng)前項(xiàng)目的配置信息。文件位置
.git/config
- git config user.name/user.email/merge.toolcore.editor
- git config --list/user.name
初始化版本庫
- git init 將當(dāng)前目錄變?yōu)橐粋€(gè)git倉庫
- git clone 從已有的git倉庫克隆一個(gè)新的鏡像倉庫
- git clone 可以在使本地倉庫名和遠(yuǎn)程倉庫名不同
- git clone 可以使用各種傳輸協(xié)議如:
https
,ssh
,git://
git 文件操作
git status
當(dāng)前倉庫所有文件的狀態(tài)瞬雹。
-
git status -s
或者git status --short
將得到更為簡短的文件狀態(tài)信息悄晃。 -
git 文件狀態(tài)轉(zhuǎn)換圖
- untracked
-
untracked files
未跟蹤的文件,使用git add filename
將 文件納入git跟蹤范圍
-
- tracked
-
staged
已暫存狀態(tài)的文件褥蚯。 -
modified
已跟蹤的文件被修改但是還沒有放入暫存區(qū)挚冤。 使用git add
命令將文件放入暫存區(qū)。
-
git add
跟蹤未跟蹤的文件 或者 暫存未暫存的文件
-
git add filenames/dir
跟蹤文件或者文件夾(遞歸跟著文件夾里面的所有文件)
gitignore
忽略某些不需要跟蹤的文件
-
.gitignore
文件
git diff
當(dāng)前倉庫中修改的文件和暫存區(qū)域中的文件的差別赞庶,也就是修改之后還沒有贊成起來的變化.
git diff --cache/--stage
已暫存的和上次上次提交時(shí)的差異训挡。
git commit
提交更新
-
git commit
啟動(dòng)默認(rèn)的編輯器編輯提交說明。默認(rèn)編輯器使用git config core.editor
設(shè)置 -
git commit -m
直接寫提交說明 -
git commit -a
暫存所有已跟蹤的文件并提交
移除文件
-
git rm
從跟蹤清單中移除此文件并在當(dāng)前目錄中刪除此文件 參數(shù)-f
強(qiáng)制刪除文件 -
git rm --cache
移除跟蹤清單但不刪除文件
git mv
移動(dòng)文件
git log
查看提交歷史
Undoing things
-
git commit --amend
將最后2次commit 合為一次歧强。 -
git reset HEAD file
將已修改文件從緩存區(qū)撤銷澜薄。 -
git checkout -- file
撤銷文件的改動(dòng)。
working with remote(local side)
Managing remote repositories includes knowing how to add remote repositories, remove repositories,manager various remote branches and define them as being tracked or not.
fetching and pull from remote
-
git remote add [shortname] [url]
以short name為別名增加一個(gè)遠(yuǎn)程倉庫摊册。 -
git fetch [remote name]
從遠(yuǎn)處倉庫獲取最新數(shù)據(jù)肤京,不會和本地文件merge -
git pull
獲取遠(yuǎn)處倉庫的最新數(shù)據(jù),自動(dòng)和本地的分支merge茅特。
pushing to remote
-
git push [remote-name] [branch-name]
將分支branch-name的修改推送到遠(yuǎn)處倉庫忘分。 -
git remote show [remote name]
查看遠(yuǎn)處倉庫信息。 -
git remote rename [remote name] [new remote name]
重命名本地的遠(yuǎn)處倉庫名字 -
git remote rm [remote name]
刪除remote