[Git] Git 基本操作重點整理

  • 990
  • 0
  • Git
  • 2018-12-07

以下為自己整理的一些基本git操作的表格整理及說明,可以讓初學者做基礎的版本控管

  • 版本控管系統 ( Version Control System )

  • Git 是一款版本控制軟體,而 GitHub 是一個商業網站,GitHub 的本體是一個 Git 伺服器

  • git是工具,github是網站,GitHub 的本體是一個 Git Server

新手上路,如有錯誤,請多指教!!謝謝~~~

git提交流程 指令意義 new old from other
  git init github創專案(先不要+README)       git clone http://github…  
  記住 clone(http://github…)          
unstaging area
(working directory)
(工作目錄)
在local
 

echo "#標題">README.md

(先創完專案在創README)

         
git init
初始化
git init 1. 讓git存檔專家進駐,創建一個新的repository,讓git開始對這個目錄進行版本控制
2. 新增.git檔,通常隱藏檔
       
git add
把local檔案加至暫存區(Staging Area)
git add . 1. git add 指令把檔案從工作目錄移至暫存區
2. add all 專案裡的檔案
       
git add --all add all 專案裡的檔案        
git add *.cpp add all 專案裡的cpp檔案        
git add main.cpp add main.cpp        
staging area(暫存區)
還在local
             
git commit
把暫存區的內容移往儲存庫(repository)
git commit -m 'first' 1. git commit 指令把暫存區的內容移至儲存庫
2. commit 暫存區的資料
3. -m 註解  'first' 註解內容
git commit -a -m 'second' 1. 可以直接add+commit
2. a參數只對已經存在repository的檔案有效,對還是新加入的檔案是無效的
   
repository(儲存庫)
還在local
             
git remote
設定雲端
git remote add origin http://github… 1. 設定好雲端github網址
2. remote 主要跟遠端有關的操作
3. add 加入一個遠端的節點
4. origin 一個代名詞,指的是後面github伺服器的位置(github網址是clone)
5. 如代名詞不存在則命名,如存在則到代名詞
git remote add origin http://github…      
git push
把儲存庫的內容推上雲端
git push -u origin master 1. 將repository的資料push到origin雲端的master分支
2. 把 master 這個分支的內容,推向 origin 這個位置
3. 在 origin 那個遠端 Server 上,如果 master 不存在,就建立一個叫做 master 的同名分支
4. 但如果本來 Server 上就存在 master 分支,便會移動 Server 上 master 分支的位置,使它指到目前最新的進度上
5. -u 設定 upstream,它會指向並追蹤(track)某個分支
如果有設定,當下次執行 git push 指令的時候,它就會用來當預設值
git push 如果第一步有-u,現在可以直接git push git pull 更新雲端版本(別人修改過)
1. git pull = git fetch + git merge
2. pull 指令其實就是去上線抓東西下來(Fetch),並且更新本機的進度(Merge)而已
git push origin master 若沒-u每次都要重複git push origin master git push -u origin master   git pull origin master  
cloud(雲端)              
               
               
git 分支流程              
branch 新增分支
checkout 切換分支
             
最新的端點開分支 (master) git branch 看所有支線        
  (master) git branch dev 新增分支dev
從最新的端點開分支
       
  (master) git checkout dev 切換到分支dev        
  (dev) git add 提交資料        
    git commit          
               
從指定端點開分支 (master) git checkout old的位置 如果不想從最新的端點開分支,想從之前old的地方開分支,先把之前old端點的位置記下來,並切換到那        
  (old) git branch dev          
  (old) git checkout dev          
  (dev)            
               
merge合併分支 (dev) git checkout master 先切換到master分支        
  (master) git merge dev 合併dev分支到master        
               
delete刪除分支 (dev) git -d dev 不行!因為你現在在dev底下,不能直接刪掉你底下        
  (dev) git checkout master 要先切換到其他地方        
  (master) git -d dev 才能把dev分支刪掉        
               
reset移出   git reset -h HARD reset全部
-h = --hard 放棄所有修改.回到上個commit完成後的版本
       
    git reset  HARD 檔案名稱 將已經在repository的檔案移出staging area        
    git rm --cached 檔案名稱 將已經在repository的檔案移出staging area        
               
查看工具   git status 查看 git 狀態        
    git log 查看所有commit紀錄        
    git help git會提示指令