1. 程式人生 > >git revert 後悔了 還原修改前的版本 + git 常用命令

git revert 後悔了 還原修改前的版本 + git 常用命令

 昨天手殘 然後在GitHub for windows 上點了revert 然後就給重置了 更手殘的是又給同步了 .  但是 GitHub 會保留之前的版本 . 只要刪掉本次修改就可.

解決方案:  gitshell ->> git revert HEAD 

還原已經提交的修改
此次操作之前和之後的commit和history都會保留,並且把這次撤銷作為一次最新的提交
    git revert HEAD                  撤銷前一次 commit
    git revert HEAD^               撤銷前前一次 commit
    git revert commit-id (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進行儲存。
git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容。

另外 附上git 常用命令.

檢視、新增、提交、刪除、找回,重置修改檔案

git help <command> # 顯示command的help

git show # 顯示某次提交的內容 git show $id

git co -- <file> # 拋棄工作區修改

git co . # 拋棄工作區修改

git add <file> # 將工作檔案修改提交到本地暫存區

git add . # 將所有修改過的工作檔案提交暫存區

git rm <file> # 從版本庫中刪除檔案

git rm <file> --cached # 從版本庫中刪除檔案,但不刪除檔案

git reset <file> # 從暫存區恢復到工作檔案

git reset -- . # 從暫存區恢復到工作檔案

git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改

git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操作都合併在一起做                                    git ci -am "some comments"

git ci --amend # 修改最後一次提交記錄

git revert <$id> # 恢復某次提交的狀態,恢復動作本身也建立次提交物件

git revert HEAD # 恢復最後一次提交的狀態

檢視檔案diff

git diff <file> # 比較當前檔案和暫存區檔案差異 git diff

git diff <id1><id1><id2> # 比較兩次提交之間的差異

git diff <branch1>..<branch2> # 在兩個分支之間比較

git diff --staged # 比較暫存區和版本庫差異

git diff --cached # 比較暫存區和版本庫差異

git diff --stat # 僅僅比較統計資訊

檢視提交記錄

git log git log <file> # 檢視該檔案每次提交記錄

git log -p <file> # 檢視每次詳細修改內容的diff

git log -p -2 # 檢視最近兩次詳細修改內容的diff

git log --stat #檢視提交統計資訊

tig

Mac上可以使用tig代替diff和log,brew install tig

Git 本地分支管理

檢視、切換、建立和刪除分支

git br -r # 檢視遠端分支

git br <new_branch> # 建立新的分支

git br -v # 檢視各個分支最後提交資訊

git br --merged # 檢視已經被合併到當前分支的分支

git br --no-merged # 檢視尚未被合併到當前分支的分支

git co <branch> # 切換到某個分支

git co -b <new_branch> # 建立新的分支,並且切換過去

git co -b <new_branch> <branch> # 基於branch建立新的new_branch

git co $id # 把某次歷史提交記錄checkout出來,但無分支資訊,切換到其他分支會自動刪除

git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,建立成一個分支

git br -d <branch> # 刪除某個分支

git br -D <branch> # 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)

 分支合併和rebase

git merge <branch> # 將branch分支合併到當前分支

git merge origin/master --no-ff # 不要Fast-Foward合併,這樣可以生成merge提交

git rebase master <branch> # 將master rebase到branch,相當於: git co <branch> && git rebase master && git co master && git merge <branch>

 Git補丁管理(方便在多臺機器上開發同步時用)

git diff > ../sync.patch # 生成補丁

git apply ../sync.patch # 打補丁

git apply --check ../sync.patch #測試補丁能否成功

 Git暫存管理

git stash # 暫存

git stash list # 列所有stash

git stash apply # 恢復暫存的內容

git stash drop # 刪除暫存區

Git遠端分支管理

git pull # 抓取遠端倉庫所有分支更新併合併到本地

git pull --no-ff # 抓取遠端倉庫所有分支更新併合併到本地,不要快進合併

git fetch origin # 抓取遠端倉庫更新

git merge origin/master # 將遠端主分支合併到本地當前分支

git co --track origin/branch # 跟蹤某個遠端分支建立相應的本地分支

git co -b <local_branch> origin/<remote_branch> # 基於遠端分支建立本地分支,功能同上

git push # push所有分支

git push origin master # 將本地主分支推到遠端主分支

git push -u origin master # 將本地主分支推到遠端(如無遠端主分支則建立,用於初始化遠端倉庫)

git push origin <local_branch> # 建立遠端分支, origin是遠端倉庫名

git push origin <local_branch>:<remote_branch> # 建立遠端分支

git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然後再push刪除遠端分支

Git遠端倉庫管理

GitHub

git remote -v # 檢視遠端伺服器地址和倉庫名稱

git remote show origin # 檢視遠端伺服器倉庫狀態

git remote add origin [email protected] github:robbin/robbin_site.git # 新增遠端倉庫地址

git remote set-url origin [email protected] github.com:robbin/robbin_site.git # 設定遠端倉庫地址(用於修改遠端倉庫地址) git remote rm <repository> # 刪除遠端倉庫

建立遠端倉庫

git clone --bare robbin_site robbin_site.git # 用帶版本的專案建立純版本倉庫

scp -r my_project.git [email protected] git.csdn.net:~ # 將純倉庫上傳到伺服器上

mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在伺服器建立純倉庫

git remote add origin [email protected] github.com:robbin/robbin_site.git # 設定遠端倉庫地址

git push -u origin master # 客戶端首次提交

git push -u origin develop # 首次將本地develop分支提交到遠端develop分支,並且track

git remote set-head origin master # 設定遠端倉庫的HEAD指向master分支

也可以命令設定跟蹤遠端庫和本地庫

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop

轉自:http://www.cnblogs.com/cspku/articles/Git_cmds.html

相關推薦

git revert 後悔 還原修改版本 + git 常用命令

 昨天手殘 然後在GitHub for windows 上點了revert 然後就給重置了 更手殘的是又給同步了 .  但是 GitHub 會保留之前的版本 . 只要刪掉本次修改就可. 解決方案:  gitshell ->> git revert HEAD  還

git revert 回滾程式碼至上一版本

項開發過程中,有時會需要將程式碼回滾至上一次提交或回滾到某一次提交。專案新版本上經後,如果不能正常執行,或遇到其它極端問題時,我們需要將程式碼回滾至上一個版本。通過git revert命令,可以實現程式碼的提交回滾。 1.git revert命令介紹 g

Linux系統Ubuntu 14.04版本常用命令小集錦

此篇部落格為小辣雞Sukie在學習使用Linux系統Ubuntu14.04版本的過程中,對於一些基本操作的命令的小總結與筆記...可以幫助linux系統的命令列快速入門啦~希望和大家多多交流與學習啦~後期還會慢慢更新滴~♪(^∇^*) 1.常用快捷鍵及系統命令 (1)快捷

window版本nginx 常用命令

nginx -s reload :修改配置後重新載入生效 nginx -s reopen :重新開啟日誌檔案 nginx -t -c /path/to/nginx.conf 測試nginx配置檔案是否正確 進入nginx 目錄下直接cmd 調出命令視窗

分針網——每日分享:git提交錯如何撤銷或者回退版本

git http://www.f-z.cn/id/184 前言 前面給大家普及了暫存區的概念以及展示的工作區、版本庫中的暫存區和版本庫之間的關系,如果大家都理解的話,那麽今天的課程就很簡單了。

git撤銷修改版本回退

撤銷 想要 har -h span git eset 命令 set 場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。 場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步

git 還原到指定版本

-i item sum tex one area ins bubble sele git clone git branch -r --contains 88b92060224e96ef209565fa75c816eb9b0fa

檢視修改的歷史記錄 git log 命令 和 返回上一次修改版本 git reset 、git reflog(五)

上一篇,已經學會了修改檔案,然後再把修改檔案提交到Git版本庫,now,再重複執行一次,修改index.html檔案如下: 然後執行新增、提交: 像這樣,你不斷對檔案進行修改,然後不斷提交修改到版本庫裡,每次修改到一定程度時,再提交;一旦你把檔案改亂了,或者誤刪了檔案,還可以從最

Git快速入門-git stash 暫存變更,git reset 撤銷commit,git revert 回退遠端版本

注:本文基於git version 2.13.5 版本進行演示 1. 概述 Git入門系列第四篇,基於場景,介紹一些非常實用的Git命令,也許這些命令會讓你產生“還有這種操作”的感嘆。例如如何把修改暫存起來,留著以後使用?想撤銷已提交(com

git基礎學習(三):版本回退 git reset --hard HEAD^(或者是commit id的幾位)和git reflog

現在,你已經學會了修改檔案,然後把修改提交到Git版本庫,現在,再練習一次,修改readme.txt檔案如下: Git is a distributed version control system. Git is free software distributed un

Eclipse修改jdk版本啟動不

本來JDK環境裝的是1.6版本,但後來想要換成1.7版本的,所以就直接開啟Eclipse安裝目錄下的eclipse.ini檔案,直接修改了裡面的 -vm D:/JAVA/JDK/jdk1.6.0_23/bin/javaw.exe 改成了jdk1.7的安裝路徑,結果想再次開啟

Git使用(4)修改提交結果、版本回退與衝突解決

1.檢視版本之間差異 1.1檢視有哪些資料夾/檔案有差異 git diff 顯示工作目錄與暫存區檔案之間的差異 git diff --cached 顯示暫存區與git倉庫之間的差異 git diff HEAD 顯示工作目錄與git倉庫之間的差異

Github回退到修改的指定版本

1. 本地 (1) 執行了git add操作, 想取消暫存 git reset head git reset head <filename> git reset --hard HASH # 返回到某個節點,不保留修改。 git reset --soft HASH

git在一個分支上修改程式碼但是不想commit到本地git庫,需要切換一個分支去修改程式碼,這個時候也可以使用git stash

在一個分支上修改了程式碼但是不想commit到本地git庫,需要切換一個分支去修改程式碼,這個時候也可以使用git stash $ git stash modify your code or checkout to another branch g

Git版本控制:Git查閱、撤銷檔案修改和撤銷檔案追蹤

檢視檔案的修改歷史git log --pretty=oneline 檔名 # 顯示修改歷史[Git高階教程:git log與git reflog]git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e # 檢視更改歷史版本檢視和對比

Git撤銷修改版本回退,等相關操作

撤銷修改 撤銷修改是指將工作區中的修改撤銷。 語法:git checkout 檔名或路徑 # 撤銷工作區中當前目錄中的所有更改 git checkout . # 撤銷工作區中指定檔案的修改 git checkout -- filename git

Git 撤銷修改版本回退

撤銷修改 # 撤銷修改是指將工作區中的修改撤銷 git checkout [檔名或路徑] # 1、撤銷工作區中當前目錄中的所有修改 git checkout . # 2、撤銷工作區中指定檔案的修改 git checkout -- filename 注意:checkout命令只能撤銷工作區中的修改,不能

Git提交錯不用慌,這三招幫你修改記錄

大家好,今天我們來聊聊git當中一個很重要的功能——歷史記錄的修改。 有的時候我們會突然發現某個地方需要修改,最常見的某個不應該被提交的檔案被提交了進來。我們希望它不只是在後序的版本當中不再出現,而是希望整個從git倉庫當中移除掉。這個時候我們就需要修改git之前的歷史記錄。這個時候應該怎麼辦呢? 不要著急,

git fork代碼並修改胡提交到自己的git倉庫

添加 detail 成功 開發 嘗試 fetch .com mes -m   最近在參加阿裏天池大數據中間件比賽(毫無頭緒,打醬油中).看參賽要求,需要將官網的git工程clone下來,在此基礎上做修改後提交到自己的倉庫中. 由於以前並沒有使用過git,所以差了比較多的資料

git config配置,工作區和版本庫聯系。

linu htm 相關 lfs global intro git bash .text desktop 關於git和github的介紹,我這邊不多說。 使用在windows下使用git,需要配置環境變量,也可以使用git自帶的終端工具。,打開git bash [e