Git使用入門

最近在修改mybatis-generator的插件,讓自動生成的代碼更知足符合開發的要求,由於是業餘研究,常常須要下班後在本身電腦上來繼續以前的工做,以前的狀態是下班以前把在公司的電腦上寫的代碼拷到U盤,回去以後再把代碼拷到本身電腦中替換掉以前的,某些特定狀況的數據(如:數據庫鏈接信息等)還須要根據環境來調整,每次搭建開發環境都須要較長時間,這樣一折騰以後連開發的激情都沒有了,爲了解決這個問題就須要藉助功能強大、人氣頗旺的版本控制工具——GitHub來管理。git

1、簡介

Git 是一款免費、開源的分佈式版本控制系統。而 GitHub 主要提供基於 git 的版本託管服務。也就是說如今 GitHub 上託管的全部項目代碼都是基於 Git 來進行版本控制的,因此 Git 只是 GitHub 上用來管理項目的一個工具而已,GitHub 的功能可遠不止於此。github

2、Git安裝

官網 下載安裝便可,安裝成功後在桌面右鍵能夠看到下圖所示的Git Gui HereGit Bash Herespring

安裝成功右鍵顯示

須要在哪一個文件夾下運行Git 打開該文件夾,右鍵 ==> Git Bash Here 便可打開命令窗口,以下圖:數據庫

命令窗口

3、經常使用命令列表

基礎命令

<!-- 初始化 git 倉庫 -->
git init

<!-- 與遠程 git 倉庫關聯 -->
git remote add origin git@github.com:xiachengwei5/spring-mvc.git

<!-- 查看你當前 git 倉庫的狀態信息,如:文件修改、刪除等的信息 -->
git status

<!-- 將須要提交的文件放在緩存中 -->
git add README.md
<!-- 若是須要提交的文件不少,對每一個文件都這樣處理太繁瑣,能夠經過以下命令一次性添加全部變動後的文件 -->
git add --all
git add .

<!-- 移除緩存 -->
git rm --cached

<!-- 提交在緩存中的文件 -->
git commit -m "提交說明"

<!-- 將提交的信息推送到默認的遠程倉庫 -->
git push
<!-- 將提交的信息推送到指定的遠程倉庫 -->
git push -u origin master

<!-- 從默認分支更新文件 -->
git pull
<!-- 從指定分支更新文件 -->
git pull origin master

<!-- 查看標籤 -->
git tag
<!-- 新建標籤 -->
git tag v1.0
<!-- 切換到指定標籤 -->
git checkout v1.0

<!-- 查看日誌 -->
git log

分支

<!-- 查詢本地的分支狀況 -->
git branch
<!-- 查詢遠程倉庫的分支狀況 -->
git branch -r
<!-- 新建分支 -->
git branch 分支名稱
<!-- 刪除分支 -->
git branch -d
<!-- 強制刪除分支 -->
git branch -D

切換

切換到指定分支、標籤,或撤銷尚未 add 進暫存區的文件,具體用法以下:windows

<!-- 切換當前分支爲source -->
git checkout source
<!-- 新建一個a分支,而且自動切換到a分支 -->
git checkout -b a

<!-- 切換到指定標籤 -->
git checkout v1.0

<!-- 撤銷a.md -->
git checkout a.md

合併

合併分支,通常是在master分支下合併其餘分支,具體用法以下:spring-mvc

<!-- 直接將兩個分支合併,合併以後兩塊仍是相對獨立的 -->
git checkout master
git merge source

<!-- 根據相關邏輯將兩個分支合併,合併以後兩個分支是糅合的 -->
git checkout master
git rebase source

別名

對使用很頻繁,而且命名比較長的操做每次輸入都比較麻煩,能夠經過alias 來起簡單好記的別名:緩存

<!-- 表示 co 等同於 checkout -->
git config --global alias.co checkout
<!-- 能夠根據習慣來定製一些組合 -->
git config --global alias.psm 'push origin master'

<!-- 格式化日誌信息 -->
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)% d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

差別

<!-- 查看當前文件與暫存區文件的差別 -->
git diff
<!-- 比較兩次提交之間的差別 -->
git diff <$id1> <$id2>
<!-- 在兩個分支之間比較 -->
git diff origin/master origin/source
<!-- 比較暫存區和版本庫差別 -->
git diff --staged

設置用戶名和郵箱

git config --global user.name "xiachengwei5"
git config --global user.email "xiachengwei5@163.com"

其餘命名

<!-- 開啓Git着色 -->
git config --global color.ui true

4、解決中文亂碼的問題

解決經過git status查看中文文件名亂碼mybatis

git config --global core.quotepath false

在git bush中右鍵==>options ,選擇編碼格式:mvc

選擇字體和編碼格式

5、參考資料

從0開始學習 GitHub 系列 分佈式

從0開始學習 GitHub 系列——電子書下載

相關文章
相關標籤/搜索