git 經常使用命令使用

 

這裏記錄一下git平時的經常使用操做,本文基於安裝了git,且有github帳號的前提。git

1、將本地項目(不是git項目)提交到git上

1.一、採用git clone

先在git上創建一個project,而後本地使用git clone <項目連接地址>  克隆到本地,而後將須要上傳到git上的項目所有複製到該文件下,而後採用如下三個命令github

git clone 還有一個-b參數 這個參數後面接着分支名稱,可直接拉取指定分支代碼,不用本地再使用git checkout 《分支名稱》來切換分支spa

1 git add <文件> // 也可使用路徑,如git add ./  表明將當前路徑下的全部文件都加入到暫存區
2 git commit -m '提交說明文字'   // 執行完後,暫存區的代碼會到本地倉庫裏去
3 git push    // 執行完後,本地倉庫的代碼會到遠程倉庫裏

 這種方法比較簡單3d

1.二、採用git init

在本地項目中使用git init命令,而後一樣採用 code

git add ./blog

git commit -m '文字說明'rem

以後在git上建立一個空的git項目文件夾,而後採用字符串

git remote add origin <git項目連接地址>it

git push -u origin masterast

便可

 建立一個空的git項目

 

若是沒在git上建立,則會出現如下狀況

當建立後,

此時項目已經到了github上去了。

在這裏提個小坑,若是你在github上建立項目的時候勾選了

 

那麼你在push的時候會出現下面一個問題

這是由於,你在github上建立的時候,新建一個readme文件,在咱們平時要push項目到git上,都會先git pull一下,在這裏也是同樣

先使用 git pull --rebase origin master,從git上拉取文件,而後再push,

在這裏 git push -u 中的-u參數就是建立遠程分支的一個意思

 2、合併分支代碼

先切換到指定分支,如你要將dev分支代碼合併到prd分支,則你只需(記住,最好先git pull,和git status,防止遠程有修改和本地有修改狀況)

git checkout prd

git merge dev

//  到了這裏最重要的是要先檢查有沒有衝突,有衝突的話,先找到衝突文件,手動解決衝突,解決完後

git add 《文件》或者 轉到 最外層目錄 採用git add ./

git commit -m '提交說明文字'

git push

若是沒有衝突文件,能夠直接跳過 git add 和 git commit兩個操做

3、版本回退

採用 git log查看提交歷史

 

而後要回退到哪一個分支,就複製紅框中的字符串,假如這裏要回退到第二個紅框的所在分支,

git reset --hard <commit id> //r若是回退到 上一個分支 也能夠用 git reset --hard HEAD^

git push -f origin master

而後就回退了

4、本地建立新的分支 

如 git checkout -b <分支名稱>

而後 git push origin <分支名稱>

 5、放棄本地修改

關於這種狀況有三類,一個是本地修改沒加入暫存區,第二個是已經修改加入了暫存區,第三個是修改加入了本地倉庫

5.一、本地修改沒加入暫存區,即沒使用 git add命令

採用 git checkout -- fileName 值得注意的是這個文件必定是在git上存在的,對於新增的文件,這個命令沒用,不過對於新增的能夠直接刪除。

若是要退回全部文件修改,則能夠 git checkout .  命令,注意後面有一個點。

5.二、本地修改已加入暫存區,即便用了 git add命令,但還沒使用 git commit

  採用 git reset HEAD fileName  其中fileName爲加入到了暫存區的文件,對於新增的也適用,執行完後,修改的內容,並無當即消失,而是回到了5.1的狀態

而後再按照5.1的操做再執行一遍便可,若是要放棄全部修改,則可使用 git reset HEAD .  命令,注意這裏有一個點。

5.三、本地修改已加入了本地倉庫

其實這種狀況就是相似於版本回退,惟一不一樣的時候,執行完相應命令不用push

git reset --hard <commit id> //r若是回退到 上一個分支 也能夠用 git reset --hard HEAD^

-------------------------------------------------------------------------------------------------------------分界線------------------------------------------------------------------

以上就是所有內容,如有錯誤或不足之處,還望指正,謝謝!

相關文章
相關標籤/搜索