git使用(1)html
首先要明白git上有三個區域git
1.工做區 spring
2.暫存區 segmentfault
3.歷史記錄區安全
步驟:學習
1.git initfetch
2.配置環境(若是配置一次了之後就不用再繼續配置)url
git config --global user.name 「username」code
git config --global user.email 「email」orm
3.在本地版本庫設置遠程版本庫的別名:
git remote add 版本庫別名 <庫地址>
好比:git remote add origin 項目連接
git remote -v : 顯示遠程倉庫信息
假如遇到錯誤提示:fatal: remote origin already exists.
解決:git remote rm origin ,而後再執行前面的add操做
4.顯示當前分支
git branch -a ---顯示全部分支
git branch -r ---顯示遠程分支
5.假如在此時新增分支會報錯:fatal: Not a valid object name: 'master'
應該先commit
git commit –m 」註釋「
6.添加本地分支
git branch 本地分支名字
7.切換分支
git checkout 本地分支名
假如要把六、7步合併:git checkout -b 本地分支名
這樣就建立新分支的同時當即切換到剛建立好的分支
8.添加本地文件到暫存區
git add 文件名(若是添加整個目錄就加入-A參數,假如要進入該目錄下推送目錄內的文件,要從新操做前面的commit和checkout)
而後再commit
9.推送暫存區到遠程
git push origin 本地分支:遠程分支 (遠程分支能夠不填)
若是遠程分支不寫,則表示將本地分支推送與之存在跟蹤關係的遠程分支(通常同名),若是該遠程分支不存在,會自動建立
好比git push origin master
上面的命令就是把本地的master分支推送到origin主機的master分支,若是後面的那個master不存在,那麼就會自動建立
若是遇到 錯誤提示:error:failed to push som refs to.......
解決:git pull origin 分支名 ----先把遠程倉庫的文件拉到本地,再push
假如從master建立一個新分支(假設叫test),使用git push origin master提交,顯示'Everything up-to-date'
緣由是git push origin master在沒有跟蹤遠程分支的本地分支默認提交了master分支,由於master分支默認指向origin master分支,這時應該要:
git push origin test:master
git push origin test:master // 提交本地test分支做爲遠程的master分支
git push origin test:test // 提交本地test分支做爲遠程的test分支
git push origin :test //遠程分支被刪除,可是本地分支保存
git push origin --delete test //同上
若是想節省後續操做,能夠試試
git push -u origin master //指定origin爲主機,後續操做就不用加參數了,直接使用git push(對於同個目錄)
若是要把本地全部分支都推送到主機origin:
git push -all origin
若是要附帶標籤:
git push origin --tags
10.修改衝突或更新文件
(從任意遠程版本庫中取來修改變化,併合併到當前檢出的本地分支)
假如本地更新了文件再push,遠程沒有更新,會發送衝突,使用
git pull origin 遠程分支:本地分支
把遠程文件拉到本地與本地分支合併
修改以後要再commit再推送
若是遠程分支和當前本地分支合併,冒號後面的能夠省略(相似先git fetch再git merge)
實際上pull命令並非很安全(建議用fetch(它取回的代碼對你本地的開發代碼沒有影響)和merge),若是遠程刪除某個分支,默認git pull不會在拉取遠程分支時刪除對應的本地分支。可是若是加上參數-p(git pull -p)就會在本地刪除遠程已經刪除的分支
這樣的命令也相似:
git fetch --prune origin
git fetch -p
修改遠程倉庫:git remote set-url origin 新連接地址
git的跟蹤關係:
某些狀況下,git自動在本地和遠程分支之間創建的,好比在git clone的時候全部的本地分支默認就是與遠程主機origin的同名分支創建跟蹤關係,本地分支將自動跟蹤遠程分支,好比主分支,本地master分支就會跟着origin/master
你也能夠手動設置跟蹤關係:
git branch --set-upstream master origin/test
本地master分支跟蹤遠程origin/test
就像前面的pull操做,能夠直接用
git pull origin
當前本地分支自動和它跟蹤的遠程分支(針對創建了跟蹤關係的適用)進行合併
若是當前的本地分支只有一個跟蹤的遠程分支
git pull
主機名均可以省略
按照上面的步驟基本能完成一個簡單的推送
參考:http://www.cnblogs.com/springbarley/archive/2012/11/03/2752984.html
(git經常使用命令)
http://rongjih.blog.163.com/blog/static/335744612010112562833316/
(Git經常使用操做命令,很全)
http://www.javashuo.com/article/p-vjsozpyd-bw.html
(Git學習總結,帶圖解)
http://josh-persistence.iteye.com/blog/2215214
(詳解Git工做區、暫存區、歷史記錄區以及git reset、git revert、git checkout等撤銷命令的區別)