gitHub 基礎命令

會飛的Tiger發表於2017-08-10

設定開發人員資訊

        git config --global user.name "chen"

        git config --global user.email "xxxxx@qq.com"

 

檢視開發人員資訊及配置

        git config --global user.name    檢視名字

        git config --global user.email 檢視email

        git config -- list 檢視所有配置資訊

 

檢視當前狀態

        git status

 

當前工作區程式碼新增到暫存區

        git add fileName(文字的名字)

        例: gia add drag.html

        或者新增所有已修改的檔案

        git add .

 

從暫存區提交程式碼到版本區

        git commit   (這裡會彈出新增註釋的vim編輯)

        或者直接後面寫註釋

        git commit -m "change 2017-7-6"

 

從暫存區撤回新增的檔案

        git reset HEAD drag.html    撤回單個檔案

        git reset HEAD .  撤回所有

 

提交的快取區的同時提交到版本區

        git commit -a -m "change 2017-7-6-3"

 

檢視日誌

        git log

 

git 對比命令

        git diff  工作區和暫存區的程式碼對比

        git diff --cached 暫存區和版本區的對比

        git diff --staged 效果同上

        git diff master 工作區和版本區的程式碼對比

 

工作區回到之前的狀態

        git checkout -- drag.js(fileName)

 

刪除檔案

        git rm fileName     刪除暫存區檔案(前提是必須先刪除工作區檔案)

        git rm -f fileName   同時刪除暫存區和工作區的檔案

        git rm --cached fileName     直接刪除快取區的檔案(本地不用刪除)

 

恢復檔案

        版本id可通過日誌檢視

        git checkout 版本Id fileName   恢復某個檔案

        git reset --hard 版本Id        整個專案恢復某個版本

        git reser --hard HEAD^      回到上一個版本

        git reset --hard HEAD~2   寫2代表回到上兩個版本 ,2可以為n

        git reflog   回到現在的某個狀態(要配合git reset --hard logId(reflog返回的Id))

 

提交到github

        git  remote  檢視遠端倉庫的名字

        git remote -v 檢視遠端倉庫的地址

        git push  倉庫名字  提交的分支名字     提交到gitHub

        例: git push origin master

 

更新程式碼及衝突解決

        git fetch   更新(不與原生程式碼合併) --------推薦

        這裡會返回一個衝突的id號 上面有一個遠端的分支

        配合以下使用:

        git diff  本地分支 遠端分支 檢視衝突

        例子: git diff master  origin/master

        git merge orgin/master     合併程式碼

        HEAD 是原生程式碼

        orgin/master (遠端倉庫的名字,不一定是這個) 是遠端倉庫的

        git pull 更新(自動與原生程式碼合併)

 

分支

        git branch   檢視當前分支

        git branch test  建立一個名字為test的分支

        git checkout name  切換到test這個分支上

        git checkout -b test2 建立test2這個分支並切換到test2這個分支上

        git merge (test)分支名稱      合併名稱為test的分支  

        git branch --merged   檢視當前分支合併了哪些分支

        git branch --no-merged 檢視當前分支 沒有合併的分支

        git branch -d test    刪除test這個分支(分支上程式碼沒合併不能刪除)

        git branch -D test 強制刪除test這個分支(沒合併也能刪)

        ! 代表衝突

        HEAD 是代表我的

        分支名稱 是代表分支上的

        +  代表新增

        -  代表刪除

        ~ 代表修改

 

打標籤

        git tag   檢視標籤

        git tag v1.0  打上版本標籤

        git push origin v1.0  把標籤同步到github