創(chuàng)建倉庫
選擇一個合適的地方,創(chuàng)建一個空目錄
- mkdir GitDemo
- cd GitDemo
- git init
Initialized empty Git repository in /Users/timmy/GitDemo/.git/
文件提交
在使用git的過程中,我們未來管理需要的文件一般需要執(zhí)行 git add(添加到版本控制)和git commit(提交我們的修改)
- git add 可以指定一個文件,可以指定目錄,也可以使用 git add .標(biāo)示添加當(dāng)前文件夾下面的所有文件到版本控制
- git commit 一般會使用 git commit -m "提交的注釋" xxx ,xxx表示需要提交的文件或文件夾。當(dāng)然也可以使用 git commit -m "注釋" . 來提交當(dāng)前文件夾下面的所有文件
在實(shí)際使用中,一般初始化的時候我們會去使用 git add . 和git commit -m "初始化提交" .
查看當(dāng)前倉庫的狀態(tài)
前面我們已經(jīng)將需要管理的文件添加到了版本控制你們,當(dāng)時我們有什么辦法知道我們現(xiàn)在修改了那些文件,以及修改的內(nèi)容是什么呢?那就要使用到git status 和 git diff 這兩個命令了
git status 命令可以讓我們時刻掌握倉庫當(dāng)前的狀態(tài),會列出當(dāng)前倉庫里所有修改的文件
git diff 命令可以來查看我們具體的修改,可以直接使用git diff這樣就會查看所有的修改文件,這樣看起來不是特別明確。我們可以使用 git diff 后面跟上文件或者文件就可以指定查看我們具體的修改地方了
關(guān)于git diff命令列出的信息怎么看,-表示我們刪除的文件,+表示我們添加的文件。在git中只有刪除和添加,沒有修改這個說法
版本回退
有時我們在一個版本中在開發(fā)新的功能或者解決bug,突然有新的要求或者說這個功能不需要了,這樣我們就可以使用版本回退很方便的來解決這樣的事情,git reset
- git reset 命令可以讓我們版本回退,使用HEAD表示當(dāng)前版本,HEAD表示上一個版本,HEAD^表示上上個版本
例:git reset --hard HEAD^ 表示回退到上一個版本
配合git log簡單的回退版本
- 先使用git log 可以查看所有提交的記錄,然后使用git reset xxx,xxx表示提交的版本編號
修改恢復(fù)以及刪除版本管理
git checkout命令表示從倉庫檢出一份文件,git checkout xxx,后面可以跟文件夾以及文件。這條命令使用時一定要注意,因?yàn)樗麜苯觿h除掉我們本地的修改記錄
git rm 命令是讓文件或文件夾不使用版本控制
分支的簡單使用
在git 使用中我們一般會存在兩個分支master,dev。master為主分支作為軟件版本發(fā)布時候使用,所有的開發(fā)要到dev分支上。待開發(fā)完成之后在合并到master分支
- git branch dev,表示創(chuàng)建一個dev分支
- 然后使用git checkout dev 切換到dev分支,這樣我們就可以在dev分支上進(jìn)行軟件的開發(fā)了
- git checkout -d dev 表示刪除dev分支。這個時候需要注意,一定要將dev分支合并到master分支上在進(jìn)行刪除,否則我們寫的代碼就全部沒有了
git merge分支合并,首先我們切換到我們要合并到的分支,一般都是合并到主分支
- git chcekout master 切換到主分支
- git merge --no-ff -m "xxxx" dev ,xxx表示我們這次合并時候的信息,也相當(dāng)于一個提交記錄,dev表示要合并的分支,--no-ff表示不允許快進(jìn),不加這個git只會簡單的把master指針指dev的頭部
遠(yuǎn)程倉庫
- 創(chuàng)建遠(yuǎn)程創(chuàng)庫,這里我推薦使用 git --bare init
- 關(guān)聯(lián)遠(yuǎn)程倉庫 git remote add origin git@xxxx.com:timmy/gitdemo.git。origin這個可以自己隨意指定,一般我們都使用origin表示遠(yuǎn)程倉庫的意思
- 提交到遠(yuǎn)程倉庫,首次提交我們要指定提交的分支。git push origin master,表示我們將本地的master提交到遠(yuǎn)程倉庫
- 更新本地倉庫 git pull ,當(dāng)然我們也可以在后面加origin xxx 表示只更新那一個分支
從遠(yuǎn)程倉庫克隆一份到本地
- git clone xxxx,xxxx表示遠(yuǎn)程倉庫的地址
- git checkout -t origin/dev 表示從遠(yuǎn)程倉庫dev剪切一份到本地并且本地分支名字為dev,同事也會切換到dev分支
關(guān)于git一些配置
$ git config --global user.name "Your Name" 提交時候的用戶名
$ git config --global user.email "[email@example.com]" 提交時候使用的郵箱