git使用命令

git使用命令

1.基本使用

  • git init 倉庫初始化git

  • git add <file> 添加文件到倉庫github

  • git add . 將全部修改過的文件服務器

  • git add -u 將全部修改或已刪除的tracked文件添加到暫存區fetch

  • git add -A 將全部文件的修改和刪除文件添加的暫存區日誌

  • git rm <file> 從版本庫中刪除文件code

  • git rm <file> --cached 從版本庫中刪除,但不刪除本地文件server

  • git checkout -- <file> 取消工做區文件的修改blog

  • git checkout -- . 取消全部工做區文件的修改rem

命令git checkout -- readme.txt意思就是,把readme.txt文件在工做區的修改所有撤銷,這裏有兩種狀況:it

一種是readme.txt自修改後尚未被放到暫存區,如今,撤銷修改就回到和版本庫如出一轍的狀態;

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

  • git reset HEAD <file> 從暫存區恢復到工做文件

  • git reset 從暫存區恢復全部文件到工做區

  • git reset HEAD^ 工做區不改變,可是暫存區會回退到上一次提交以前,引用也會回退一次。

  • git reset --hard HEAD^ 完全撤銷最近的提交。引用回退到前一次,並且工做區和暫存區都會回退到上一次提交的狀態。自上一次以來的提交所有丟失。

  • git reset (--hard) commit_id 回退到某個版本,--hard參數表示是否保留工做區的修改

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

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

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。

  • git commit -m "what are you doing?" 文件提交

  • git log --pretty=oneline --graph 顯示提交日誌

--pretty=oneline 日誌一行簡要顯示
--graph 圖形化顯示日誌

  • git reflog 查看命令日誌,能夠用來肯定要回到將來哪一個版本

2.分支操做

  • git branch

  • git checkout -b <name>

  • git checkout <name>

  • git merge <name>

  • git merge --no-ff -m "instructions" <name> 合併分支到當前

--no-ff 保留分支信息

  • git branch -d <name> 刪除分支

  • git branch -D <name> 強制刪除分支

3.遠程倉庫操做

  • git remote add origin git@github.com:luna825/learngit.git 關聯一個遠程庫

  • git push -u origin master 第一次

  • git clone https://github.com/luna825/lunablog.git 克隆一個遠程倉庫

  • git remote -v 顯示遠程倉庫

-v會顯示須要讀寫遠程倉庫使用的 Git 保存的簡寫與其對應的 URL

  • git fetch origin 獲取遠程倉庫中有,但你沒有的信息

  • git push origin master 推送到遠程倉庫

  • git remote show origin 查看遠程倉庫

  • git pull 會從最初克隆的服務器上抓取數據並自動嘗試合併到當前所在的分支。

  • git remote rename pb paul 修改遠程倉庫的名字

  • git remote rm paul 刪除遠程倉庫

4.遠程分支

  • git push origin serverfix 推送分支

這裏有些工做被簡化了。 Git 自動將 serverfix 分支名字展開爲 refs/heads/serverfix:refs/heads/serverfix,那意味着,「推送本地的 serverfix 分支來更新遠程倉庫上的 serverfix 分支。
你也能夠運行 git push origin serverfix:serverfix,它會作一樣的事 - 至關於它說,「推送本地的 serverfix 分支,將其做爲遠程倉庫的 serverfix 分支」 能夠經過這種格式來推送本地分支到一個命名不相同的遠程分支。 若是並不想讓遠程倉庫上的分支叫作 serverfix,能夠運行 git push origin serverfix:awesomebranch 來將本地的 serverfix 分支推送到遠程倉庫上的 awesomebranch 分支。

  • git merge origin/serverfix 遠程分支合併到當前分支.最好使用本命令來合併分支,由於git pull會合並全部跟蹤的分支

  • git checkout -b serverfix origin/serverfix 新建本地分支並將遠程分支clone下來(創建了track)

git checkout --track origin/serverfix簡寫

  • git branch -u origin/serverfix設置已有的本地分支跟蹤一個剛剛拉取下來的遠程分支

  • git branch -vv 這會將全部的本地分支列出來而且包含更多的信息,如每個分支正在跟蹤哪一個遠程分支與本地分支是不是領先、落後或是都有

相關文章
相關標籤/搜索