參考文章:http://www.liaoxuefeng.com/的GIT教程html
另一個小白的教程問題,能夠隨便看看http://www.cnblogs.com/visi/archive/2011/09/07/2169938.htmlgit
裝完git軟件能夠設定全局用戶名以及郵箱github
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
因此,建立一個版本庫很是簡單,首先,選擇一個合適的地方,建立一個空目錄:緩存
$ mkdir learngit $ cd learngit $ pwd #顯示目前所在位置 $ git init 開啓git項目模式
$ git status 查看倉庫的當前狀態
$ git diff [path] 查看文件被修改了哪些,彷佛得在提交前纔會有輸出內容
$ git log 查看commit的狀況
$ git log --pretty=oneline 將commit狀況給簡化爲一行一行,看起來舒服
$ git reset --hard HEAD^ HEAD表示當前版本,HEAD^表示上個版本,這命令的含義是恢復到上個版本
$ git reset --hard HEAD^^ 恢復到上上個版本
$ git reset --hard HEAD~100 往上前一百個版本
$ git reset --hard 13123123123 commit的編號
$ git reflog 若是git log沒有最新版本的記錄,能夠用這個記錄
$ git add . 就是把修改的文件或者添加的文件放在暫存區
$ git commit 把全部暫存區的全部修改一次性保存到分支裏
每次修改,若是不add到暫存區,那就不會加入到commit中。
$ git checkout -- [path] 把[path]文件在工做區的修改所有撤銷
1.若是尚未add命令,則到上一個commit的狀態
2.若是在add命令以後,則到上一個add的狀態
3.若是要回到add命令前的狀態,就用git reset HEAD readme.txt來把暫存區的內容去掉,而後再實行這個命令
$ git rm [path] 再commit 直接從版本庫裏刪掉 刪錯了,能夠用 $ git checkout -- test.txt 函數來補救
再來就是在github主頁新建一個項目,而後app
要關聯一個遠程庫,使用命令git remote add origin git@server-name:path/repo-name.git; 關聯後,使用命令git push -u origin master第一次推送master分支的全部內容; 此後,每次本地提交後,只要有必要,就可使用命令git push origin master推送最新修改;
建立刪除合併分支ssh
查看分支:git branch 建立分支:git branch <name> 切換分支:git checkout <name> 建立+切換分支:git checkout -b <name> 合併某分支到當前分支:git merge <name> 刪除分支:git branch -d <name>
在master分支下(不能在當前分支下刪除當前分支)刪除遠端庫的分支dev函數
git push origin --delete devspa
通常merge比較流暢的話,就是Fast-forward模式,好比原本是master分支(狀態1:以前add並commit了的狀態),而後建立並切換到dev模式並改寫添加提交(狀態2:如今在dev分支把原來從master繼承下來的初始狀態1改寫,又addcommit了).net
這裏merge的效果就是master的狀態1直接就是dev的狀態2code
而後就能夠刪除掉本地的dev分支,再刪除遠端庫的dev分支
若是我創造了dev分支,並狀態2,我又checkout回branch狀態1,再修改addcommit,此時是狀態3.接着我再merge的話,就麻煩了,直接告訴我問題出來了
status看看是那些文件衝突了,再看看文件
Git會用<<<<<<<
,=======
,>>>>>>>
標記出不一樣分支的內容
因而咱們開始幹活,解決掉衝突內容,再addcommit掉,此時是狀態4,仍然在master分支下,而dev1分支仍是保持在狀態2
$ git log --graph --pretty=oneline --abbrev-commit
此時能夠用這個命令來看合併圖
=====2014/12/14 git目前就學到這了,我感受學得差很少了,解決掉ph-pages分支應該沒咋問題了,至於怎麼跟別人合做問題等我對項目感興趣再提交吧=====
ssh -T git@github.com
連上github
下載github代碼到本地:
git clone git@github.com:zhko11993/zhko11993.github.io
cd到目標項目裏
添加文件 :git add .
提交緩存 :git commit -m '提交';
提交到遠程GitHub倉庫 : git push -u origin master ;-u的zuo是做用是關聯到遠程庫
mac
讓.DS_Store不上傳http://bmanlog.sinaapp.com/?p=32
對於使用git的狀況:
增長.DS_Store到庫的頂層目錄下.gitignore文件
而後git add .gitignore
Git commit –m 「.DS_Store remove」
全局配置方法:
Git config —global core.excludesfile = /path/to/.gitignore
而後配置這個.gitignore文件就像配置項目目錄下的.gitignore文件同樣
這裏採用的辦法是 http://blog.csdn.net/qq61394323/article/details/23783829