1. 程式人生 > >git學習小結

git學習小結

標簽 git push efs pre 所有 ssh key github bre fast

版本控制工具:

  • 集中式:

    • CVS
    • SVN 集大成者
  • 分布式:git

  • 創始人:inux Towards 2005年

工具:

  • 最好使用linux(oh-my-zsh)
  • gitbash -> cygwin
  • git service :gitolite

工作區 --> 暫存區 --> 服務器

基本命令

#當前倉庫配置文件路徑:.git/config
#當前用戶配置文件路徑:當前用戶主目錄下隱藏的 .gitconfig
#配置全局用戶名、郵箱, global是作用於當前用戶的,不加則只作用於當前倉庫,
 git config --global user.name "mbq"
 git config --global user.email "[email protected]"
#配置全局顯示顏色
 git config --global color.ui tru
#為命令配置別名alias.<別名>
 git config --global alias.st status
#配置全局日誌輸出樣式別名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

#初始化git倉庫
 git init

#添加文件到版本庫
 git add <file>
#添加當前目錄下的所有文件
 git add . 
#提交版本
 git commit -m "提交描述"
#查看倉庫狀態
 git status
#查看git版本區別
 git diff
#刪除文件
git rm <file>

#查看提交歷史紀錄,倒序排列,數字表示查看最後幾次提交歷史
 git log [1]
#簡化為一行展示
 git log --pretty=oneline
#查看自己的歷史操作(可以回退到這些版本)
 git reflog

#回退到上一個版本,也可使用HEAD~100
 git reset --hard HEAD^ <file>
#回退到指定版本號,--和hard間沒有空格
 git reset --hard 116f748
--soft 表示仍然保留當前工作區的更改

#撤銷工作區的更改(還未進行 add 操作)
 git checkout -- readme.txt
 git checkout [commit-number] --readme.txt 將此文件退到指定版本

#創建並切換分支dev
 git checkout -b dev
#相當於以下兩條命令
 git branch dev
 git checkout dev (切換到之前的版本則會進入到一個遊離分支狀態(分離的頭指針),git merge 可以合並回來)

#查看當前分支
 git branch
#合並分支(Fast Forward)
 git merge dev
#刪除分支
 git branch -d dev

#以普通模式合並分支,能從歷史中看出來,而fast forward合並方式看不出來
 git merge --no-ff -m "merge with noff" dev

#圖形化展示分支及合並情況
 git log --graph --pretty=oneline --abbrev-commit

#儲藏當前工作空間
 git stash
#查看儲存的工作空間
 git stash list
#恢復並刪除儲存的工作空間
 git stash pop
#相當於以下兩條命令
 git stash apply
 git stash drop

#創建SSH Key
 ssh-keygen -t rsa -C "[email protected]"
#查看遠程倉庫信息
 git remote -v
#連接到遠程倉庫
 git remote add origin [email protected]:mabaoqing/learngit.git
#克隆倉庫
 git clone [email protected]:mabaoqing/learngit.git
#從遠程獲取最新倉庫
 git pull
#推送到遠程倉庫,-u只在第一次推送時使用,將倉庫推送並關聯兩端master分支
 git push -u origin master 
#創建遠程分支到本地
 git checkout -b dev origin/dev
#將本地dev分支和遠程分支進行關聯
 git branch --set-upstream-to=origin/dev dev

#為某次提交打標簽,確定一個版本
 git tag v1.0 [版本號]
# 創建帶有說明的標簽
 git tag -a v1.0 -m 'version 1.0 releasd' [版本號]
#查看標簽狀態
 git show <tagname>
# 刪除標簽
 git tag -d <tagname>
# 推送標簽到遠程
 git push origin <tagname>
# 推送多個標簽
 git push origin --tags
# 刪除遠端標簽
 git tag -d <tagname>
 git push origin :refs/tags/<tagname>


#創建.gitignore文件配置需要忽略的文件,在編輯器中另存為才行,不能直接創建
#強制添加忽略的文件
 git add -f <file>
#檢查.gitignore文件中的配置規則與文件匹配
 git check-ignore -v <file>

git學習小結