1. 程式人生 > >git 常用命令使用

git 常用命令使用

head code 平時 read 目的 stat 記錄 其中 clas

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

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

1.1、采用git clone

先在git上建立一個project,然後本地使用git clone <項目鏈接地址> 克隆到本地,然後將需要上傳到git上的項目全部復制到該文件下,然後采用以下三個命令

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

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

這種方法比較簡單

1.2、采用git init

在本地項目中使用git init命令,然後同樣采用

git add ./

git commit -m ‘文字說明‘

之後在git上創建一個空的git項目文件夾,然後采用

git remote add origin <git項目鏈接地址>

git push -u origin master

即可

技術分享圖片

創建一個空的git項目

技術分享圖片

如果沒在git上創建,則會出現以下情況

技術分享圖片

當創建後,

技術分享圖片

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

在這裏提個小坑,如果你在github上創建項目的時候勾選了

技術分享圖片

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

技術分享圖片

這是因為,你在github上創建的時候,新建一個readme文件,在我們平時要push項目到git上,都會先git pull一下,在這裏也是一樣

技術分享圖片

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

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

二、合並分支代碼

先切換到指定分支,如你要將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兩個操作

三、版本回退

采用 git log查看提交歷史

技術分享圖片

然後要回退到哪個分支,就復制紅框中的字符串,假如這裏要回退到第二個紅框的所在分支,

git reset --hard <commit id> //r如果回退到 上一個分支 也可以用 git reset --hard HEAD^

git push -f origin master

然後就回退了

四、本地創建新的分支

如 git checkout -b <分支名稱>

然後 git push origin <分支名稱>

技術分享圖片

五、放棄本地修改

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

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

采用 git checkout -- fileName 值得註意的是這個文件一定是在git上存在的,對於新增的文件,這個命令沒用,不過對於新增的可以直接刪除。

如果要退回所有文件修改,則可以 git checkout . 命令,註意後面有一個點。

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

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

然後再按照5.1的操作再執行一遍即可,如果要放棄所有修改,則可以使用 git reset HEAD . 命令,註意這裏有一個點。

5.3、本地修改已加入了本地倉庫

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

git reset --hard <commit id> //r如果回退到 上一個分支 也可以用 git reset --hard HEAD^

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

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

git 常用命令使用