git命令集合

  • 安裝完成git以後要配置一些基本的信息

    git config --global user.name "Your Name"git

    git config --global user.email "email@example.com"app

    (其中的"Your Name"和"email@example.com"都要換成你本身我的的信息)ssh

  • 建立一個空的本地倉庫

    git initfetch

  • 將文件從工做區添加到暫存區

    git add filenamespa

    (filename是指你所要添加的文件名,若想添加所有修改的文件,則能夠將直接執行"git add .",或者某一命令下的修改過的文件則執行"git add /path/.",path是文件夾名)  server

  • 將文件從暫存區提交到本地倉庫

    git commit -m "note"rem

    (note是你提交時的備註,以讓本身及其餘人知道提交的大概內容)it

  •  回退版本

    git reset --hard HEAD^class

    (這個是回退到上一個版本)email

    git reset --hard HEAD~n

    (n是一個整數,指要往前回退n個版本)

    git reset --hard id

    (id是某一個版本號的前幾位,直接跳到對應的版本)

  • 查看歷史記錄

    git log

    (查看提交歷史,以便肯定要回退到哪一個版本)

    git reflog

    (查看命令歷史,以便肯定要回到將來的哪一個版本)

  • 撤銷工做區的修改

    git checkout -- filename

    (filename是想要撤銷修改的文件名)

  • 從版本庫中刪除文件

    git rm filename

    (filename是想要刪除的文件名)

  • 刪除遠程庫文件保留本地

    git rm -r --cached filename

  • 本地庫與遠程庫之間的操做

    ssh-keygen -t rsa -C "youremail@example.com"

    (在本地建立SSH Key,"youremail@example.com"要換成你本身的郵箱帳號,而後一直回車便可,接着在用戶主目錄下找到.ssh目錄,裏面的id_rsa是私鑰,id_rsa.pub是公鑰,通常還須要在遠程倉庫中添加公鑰)

    git clone originname git@server-name:path/repo-name.git

    (從遠程庫克隆,originname是遠程庫在本地所起的名字,git@server-name:path/repo-name.git是你遠程庫的連接)

    git remote add originname git@server-name:path/repo-name.git

    (關聯遠程庫,originname是你給該遠程庫在本地所起的名字,git@server-name:path/repo-name.git是你遠程庫的連接)

    git push originname branchname

    (推送本地庫的內容到遠程庫,originname是遠程庫的名字,branchname是所要推送的遠程庫分支)

    git pull originname branchname

    (從遠程倉庫獲取最新代碼合併到本地庫的當前分支,originname是遠程庫的名字,remotebranchname是所要獲取的遠程庫分支)

    git pull originname remotebranchname:localbranchname

    (從遠程倉庫獲取最新代碼合併到本地庫的當前分支,originname是遠程庫的名字,remotebranchname是所要獲取的遠程庫分支,localbranchname是本地新建的分支名)

    git remote update

    git fetch

    <-- 以上兩句等價於 -->

    git fetch --all && git fetch -t

    (更新遠程倉庫中全部的分支且合併到本地)

  • 分支管理

    git checkout -b newbranchname

    (基於當前分支建立一個新分支,newbranchname是本地新建的分支名)

    git checkout -b newbranchname originname/branchname

    (基於遠程跟蹤分支建立本地分支,newbranchname是本地新建的分支名,originname是遠程名,branchname是遠程上已有的分支名)

    git branch

    (查看本地庫的全部分支)

    git branch -r

    (查看遠程庫的全部分支)

    git checkout branchname

    (切換分支,branchname是所要切換到的分支名) 

    git merge branchname

    (將branchname分支合併到當前分支,branchname是分支名)

    git branch -d branchname

    (刪除本地分支,branchname是分支名,若所要刪除分支中的內容未合而且要丟棄,則將「-d」替換爲「-D」便可)

    git push origin :branchname

    (刪除遠程分支,branchname是遠程分支名)

  • 暫存當前分支正在進行的工做,且退回到上一個commit版本,結束緊急工做後從新取回暫存的工做內容

    git stash

    (暫存修改但未commit的代碼)

    git stash list

    (將當前的Git棧信息打印出來)

    git stash apply stash@{v}

    (v爲對應版本號,將該版本號的工做內容取出來,可是恢復後stash的內容並無被刪除掉,須要用git stash apply drop stash@{v}命令進一步刪除)

    git stash pop

    (將Git棧全部版本的工做內容所有取出來,恢復後stash中的內容也被清空)

    git stash clear

    (將stash中的內容所有丟棄)

相關文章
相關標籤/搜索