01.下載地址:
? git客戶端:https://git-scm.com/downloads
? git圖形界面:依賴于客戶端https://tortoisegit.org/download/
02.全局配置:
? git config --global user.name "用戶名"
? git config --global user.email "郵箱"
? git config --global gui.encoding utf-8 (設置 gui 客戶端使用的編碼格式)
? git config --global i18n.commitEncoding utf-8 (設置提交時注釋內容使用的編碼格式)
? git config --global i18n.logOutputEncoding utf-8 (設置展示注釋內容使用的編碼格式)
? git config --list? 檢查配置
? git config <key> eg:user.name? 檢查某項配置
? --global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址.
03.git init
? 初始化版本庫
04.添加命令:
? git add 帶后綴的文件名
? git add *.java 模糊添加
? git add xx命令可以將xx文件添加到暫存區,如果有很多改動可以通過
? git add -A .來一次添加所有改變的文件。
? 注意 -A 選項后面還有一個句點。
? git add -A 表示添加所有內容,
? git add .? 表示添加新文件和編輯過的文件不包括刪除的文件;
? git add -u 表示添加編輯或者刪除的文件,不包括新添加的文件。
05.提交
? git commit -m "注釋"
06.添加到連接遠程地址
? git remote add origin 遠程地址(需要先在遠程建立項目)
07.更改連接遠程地址
? git remote -v 查看遠程地址
? git remote rm origin
? git remote add origin 遠程地址
08.提交到遠程服務器
? 第一次提交:git push -u origin master? ? ? ? 第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。
? 非首次提交:git push origin master
? git push 遠程地址 <branch_name>
09.查看提交記錄
? git log
10.拉取服務器代碼:
? git fetch 遠程地址 <branch_name>
? git status? //紅色表示修改過
? ? ? git diff 修改過的文件名? //
? git commit -m '合并后提交'
? git pull 遠程地址 <branch_name>
? 注意:git fetch 用于拉取遠程內容到本地。 git status 用于檢查當前文件狀態。 <branch> 用于指定分支名稱,默認從 master 拉取內容。
? 如果沒有文件沖突,執行 pull 操作會先把遠程倉庫中的內容拉取下來,然后自動執行合并,之后再自動 commit 一條注釋類似于 Merge branch 'master' of xxxxx 的記錄。 如果有文件沖突,執行 pull 命令相當于 fetch ,并不會自動合并,也不會自動提交。
11.遠程下載
? git clone 遠程地址
12其它
01)查看分支
? git fetch? 同步分支
? git branch (查看當前分支)
? git branch -r (查看遠程分支)
? git branch -a (查看所有分支)
02)創建分支
? git branch <branch_name>
03)切換分支 切換到指定分支
? git checkout <branch_name>
04)撤銷對文件的修改
? git checkout -- <file_name>
? git checkout -- file 命令中的 -- 很重要,沒有 --,就變成了"切換到另一個分支"的命令。
05)版本回退
? git reset --hard HEAD^ //回退到上1個版本
? git reset --hard HEAD^^ //回退到上2個版本
? git reset --hard HEAD~100//回退到上100個版本
06)撤銷版本回退
? git reset --hard <commit_id>? //回退到指定版本 id通過 git log查看,id只寫前面幾個字符串就行,
? git reflog? //記錄你的每一次命令,可通過返回的id,來做撤銷回退工作.
07)查看當前目錄下文本內容
? cat 文件名
08)查看遠程倉庫地址
? git remote -v
09)大殺器 --help 命令行模式下有什么不懂不會不確定的命令,都可以使用 --help 選項來獲取幫助。
? git --help
? git branch --help
? git commit --help
13.備注
開發整體流程:
01).feature? ? 每個成員負責對應的分支,開發完后合并到developer,等所有分支都合并到developer后,開始測試
02).developer? 開發完所有分支后合并到developer,開始測試
03).releate? ? 測試完成后合并到release,然后打對應版本tag包(備份當前版本)
04).tag? ? ? ? 通過release打tag,備份下版本
05).master? ? 打完tag包后合并到master
06).bugfix? ? 從master合并來一份代碼,修改bug,重復1---5;
注意合并代碼永遠是合并遠程代碼,合并完成后再推送到遠程服務器
如果分支間想互相調用代碼,可通過分支間相互合并解決,一般不建議向下合并(比如從developer合并到feature)