githup的常用命令

玩轉本地

初步添加使用:

  • 初始化一個Git倉庫,使用git init命令

  • 添加文件到Git倉庫,分兩步:
    第一步,使用命令git add ,注意,可反覆多次使用,添加多個文件;
    第二步,使用命令git commit,完成。(注意,只會提交add了之後的修改)

查看git狀態:

  • 要隨時掌握工作區的狀態,使用git status命令。
  • 如果git status告訴你有文件被修改過,用git diff可以查看修改內容
  • git gui :調出圖形編輯頁面

查看歷史記錄:

  • 歷史記錄,在Git中,我們用git log命令查看:

  • 如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上–pretty=oneline參數:

  • Git提供了一個命令git reflog用來記錄你的每一次命令:

  • 調出歷史記錄的圖形界面: gitk –all

回退到歷史版本中

  • 回退到上一個版本:
    git reset –hard HEAD^

  • 回退到上上一個版本:
    git reset –hard HEAD^^

  • 回退前100個版本:
    git reset –hard HEAD~100

  • 重置到某個版本:(後面的是提交的log號,使用 git log查看)
    git reset –hard 3628164

撤銷你當前的修改:

git checkout其實是用版本庫裏的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。
命令git checkout – readme.txt意思就是,把readme.txt文件在工作區的修改全部撤銷,這裏有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。

總之,就是讓這個文件回到最近一次git commit或git add時的狀態。

git reset HEAD file可以把暫存區的修改撤銷掉(unstage),重新放回工作區:

撤銷步驟:

場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout – file。

場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作

刪除倉庫中的文件:
git rm用於刪除一個文件

使用遠程

  • 將遠程的代碼獲取到本地倉庫
    git fetch

  • 將自己的commit放到fetch到的提交記錄的最上面(這樣歷史記錄就是一條直線,便於查看你的History)
    git rebase origin master:

  • 將遠程倉庫的代碼拉取到本地
    git pull

  • 將本地倉庫的代碼推到遠程倉庫
    git push origin master

stash

  • 緩存沒有提交的文件(只有噹噹前的內容還未改完的時候,需要改之前一個版本的bug時,才需要用到stash)
    git stash

  • 繼續原來的工作
    git stash pop,

  • 恢復版本號爲stash@{1}的緩存
    git stash apply stash@{1}

  • git show stash@{0} # see the last stash
  • git stash list # list stashed changes in this git

tag

  • 添加標籤:
    git tag -a 0.64.alpha -m “0.64.alpha”
  • 將代碼推到標籤處:
    git push origin 0.64.alpha:0.64.alpha

  • 給某次歷史提交打上標籤:
    git tag -a 0.64.beta -m “0.64.beta ” 47511d966a2f830576f8e3d1fb622322c226a1c4

  • 刪除本地標籤:
    git tag -d 0.64.beta

  • 刪除標籤(在Git v1.7.0 之後)
    git push origin –delete tag 0.64.beta
    刪除遠程標籤可以把源標籤爲空:
    git push origin :refs/tags/標籤名

branch 分支

  • 查找自己的分支
    git branch
  • 創建分支
    git branch branchName

  • 切換當前工作環境到某個分支
    git checkout branchName

  • 合併分支,將branchName合併到當前的分支
    git merge branchName
    (如果合併的時候出現了衝突,可以使用 git diff 查看衝突的地方,將衝突解決完後,再次commit 就可以了;你也可以直接commit,這時候git會告訴你衝突的文件,並提示commit失敗,只有將衝突解決完成後,commit 才能成功)

  • 撤銷合併(合併後的代碼還未提交的情況)
    git reset –hard HEAD

-合併後的代碼已經commit了,還是想撤銷
git reset –hard ORIG_HEAD(這條命令很危險,如果你把一個已經被另一個分支合併的分支給刪了,那麼以後再合併相關分支時會出錯.???這句話沒看懂TODO)

  • 刪除已經合併了的分支
    git branch -d branchName

  • 強制刪除分支,不管這個分支有沒有被合併
    git branch -D branchName

常見的git命令

git init
git的初始化
git add .
將代碼加入到本地倉庫中
git status
查看當前本地倉庫的狀態
git diff
查看區別
git reset
重置,可以取消add命令
git checkout
撤銷修改,在還沒有執行add命令前可以將撤銷對代碼的修改
git commit -m “decail of commit”
提交,提交到本地倉庫
git push origin master
將本地倉庫的代碼提交到遠程倉庫中
git remote add origin https://github.com/bigthing33/StudyDemo.git
本地倉庫和一個遠程倉庫建立連接
git fetch origin master
從遠程倉庫中更新代碼,代碼會合併到一個叫origin/master的分支上
git merge origin/master
將origin/master的分支合併到當前分支
git pull origin master
等於上面兩個語句的合併,直接將遠程倉庫合併到本地倉庫
git branch -a
查看分支,帶*表示當前所在分支
git branch version1.0
創建一個分支
git checkout version1.0
切換到一個分支
git merge version1.0
合併指定的分支到當前分支
git branch -D version1.0
刪除一個分支

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章