git使用(1)----推送代碼到遠程

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等撤銷命令的區別

Technorati Tags: git
相關文章
相關標籤/搜索