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


git使用(1)

首先要明白git上有三個區域

1.工作區

2.暫存區

3.歷史記錄區

步驟:

1.git  init

2.配置環境(如果配置一次了以后就不用再繼續配置)

git  config  --global  user.name  “username”

git  config  --global  user.email  “email”

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  本地分支名

假如要把6、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常用操作命令,很全

https://segmentfault.com/a/1190000003076490#articleHeader13

(Git學習總結,帶圖解)

http://josh-persistence.iteye.com/blog/2215214

詳解Git工作區、暫存區、歷史記錄區以及git reset、git revert、git checkout等撤銷命令的區別

Technorati Tags: git


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM