1. 程式人生 > >git遠端程式碼庫 回滾

git遠端程式碼庫 回滾

origin 是預設的遠端版本庫名稱
你可以在 .git/config 之中進行修改


下面的方法,不能解決,遠端程式碼庫與第三方人員合併後的回滾問題,見最後面。

git常用命令:

1.

切換分支

git checkout master  //表示切換分支到master

2.

建立分支branch

git branch branch_name  //建立分支

3.pull拉取

git pull origin 相當於是從遠端獲取最新版本並merge到本地

git pull命令的作用是,取回遠端主機某個分支的更新,再與本地的指定分支合併。它的完整格式稍稍有點複雜。

$ git pull <遠端主機名> <遠端分支名
>:<本地分支名>

比如,取回origin主機的next分支,與本地的master分支合併,需要寫成下面這樣。

$ git pull origin next:master

如果遠端分支是與當前分支合併,則冒號後面的部分可以省略。

$ git pull origin next

如果當前分支與遠端分支存在追蹤關係,git pull就可以省略遠端分支名。

$ git pull origin

上面命令表示,本地的當前分支自動與對應的origin主機”追蹤分支”(remote-tracking branch)進行合併。

如果當前分支只有一個追蹤分支,連遠端主機名都可以省略。

git pull


4.

push推送到遠端程式碼庫

$ git push <遠端主機名> <本地分支名>:<遠端分支名> //順序與git pull相反。
git push origin master 的意思是 git push origin master:master (將本地的 master 分支推送至遠端的 master 分支,如果沒有就新建一個)

4.1 如果省略本地分支名,則表示刪除指定的遠端分支因為這等同於推送一個空的本地分支到遠端分支

$ git push origin :master

4.2 如果省略遠端分支名,則表示將本地分支推送與之存在”追蹤關係”的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建。

$ git push origin master

上面命令表示,將本地的master分支推送到origin主機的master分支。如果後者不存在,則會被新建。


【遠端程式碼庫回滾】:

這個是重點要說的內容,過程比本地回滾要複雜

原理:先將本地分支退回到某個commit,刪除遠端分支,再重新push本地分支

操作步驟:

1、git checkout  the_branch  //切換本地分支到 the_branch

2、git pull  //拉取遠端分支the_branch的最新版本,併合併到本地。

3、git branch the_branch_backup //備份一下這個分支當前的情況  //建立一個新的分支 名字為the_branch_backup

4、git reset --hard the_commit_id //把the_branch本地回滾到the_commit_id

5、git push origin :the_branch //刪除遠端 the_branch//將本地的一個空分支,推送到遠端分支上,

6、git push origin the_branch //用回滾後的本地分支重新建立遠端分支

7、git push origin :the_branch_backup //如果前面都成功了,刪除這個備份分支

一般情況下,不需要上述的7步都走完。因為,一般情況下,我們本地的分支和遠端的分支是有追蹤關係的。

1.備份本地分支

2.回滾本地分支

3.刪除遠端分支

4.將回顧後的本地分支,推送到遠端。

5.刪除備份分支。

這樣的操作後,確實能夠回滾遠端的程式碼庫,但是這樣的回滾有個很嚴重的問題,即,將遠端程式碼庫回滾到local3寫入後

本地的local1寫入第二次 這個分支就沒有。本地的分支就是local3寫入 這個分支了。

即使備份指定的版本也依然無法解決這個問題。比如備份local1這個版本,但是

遠端程式碼庫回顧後,備份的local1分支也變成了local3寫入 分支了

local1 寫入第二次依然 丟失了。

相關推薦

git遠端程式碼

origin 是預設的遠端版本庫名稱 你可以在 .git/config 之中進行修改 下面的方法,不能解決,遠端程式碼庫與第三方人員合併後的回滾問題,見最後面。 git常用命令: 1. 切換分支 git checkout master  //表示切換分支到mas

git 基本操作 git 刪除本地分支和遠端分支、原生代碼遠端程式碼

git 刪除本地分支和遠端分支、原生代碼回滾和遠端程式碼庫回滾   【git 刪除本地分支】 git branch -D br   【git 刪除遠端分支】 git push origin :br  (origin

git 程式碼

git程式碼庫回滾: 指的是將程式碼庫某分支退回到以前的某個commit id 【原生代碼庫回滾】: git reset --hard commit-id :回滾到commit-id,講commit-id之後提交的commit都去除 git reset --hard

將本地新建程式碼上傳到git遠端程式碼

場景 在本地已經建立了程式碼庫並且已經儲存了檔案,現在想把程式碼上傳到遠端的程式碼庫上: 1、首選在雲端建立一個空的程式碼庫 git init --bare test.git 2、在本地專案的根

git使用-將本地專案新增到遠端程式碼

最近剛接觸Git,發現挺好用的,而且OSC還提供了免費的託管倉庫,打算把自己電腦上的程式碼同步到OSC上,結果總是出現各種失敗。網上搜索的解決方案大部分是先在[email protected]上建立專案,然後再clone到本地,而我是想把已經在本地建立好的倉庫直接p

git命令把原生代碼上傳到碼雲的遠端程式碼

1.首先選中你需要上傳的專案的根目錄,右鍵選中git base here開啟git命令視窗2.把本地的目錄變成git本地倉庫git init3.將你本地倉庫與碼雲上的遠端倉庫關聯起來注意:yuhuihu

git提交遠端程式碼

進入專案目錄 git init      把專案變成git專案 git add . git remote rm origin  git commit -m "first" git remote add origin https://github.com/niujinlian

android開發學習 ------- git - 將代碼到任意版本

代碼 一個 href log OS 關聯 android -- ref 不小心將一個東西錯誤提交到git - 遠程倉庫上 參考 https://www.cnblogs.com/wancy86/p/5848024.html 你的git可能關聯了多個遠程倉庫,每

git reset 使用及

目錄 一、git reset 引數 1. --soft   僅僅移動當前Head指標,不會改變工作區和暫存區的內容   2.  --mixed   是reset的預設引數,移動head指標,改變暫存區內容,但不會改變工作區 

git原生代碼

git本地操作有時會有誤刪誤改並提交的時候,此時可以通過回滾獲得之前的特定版本 1. 檢視log 輸入  git log  檢視commit記錄 [xxxxxxx]$ git log  結果大致如下(根據實際的commit操作不同,顯示結果也會有所不同)

電腦基礎知識及拓展:使用Git程式碼更新到本地(完整版)

環境:Git已安裝(皮一下) 新建一資料夾 右鍵,Git Bash Here git init   新增庫 git remote add origin 想要更新的原始碼地址   將庫裡的程式碼下載到本地 git pull origin ma

IDEA遠端倉庫版本

訪問我的部落格 使用 git 進行專案的版本控制時,肯定會遇到回滾版本的情況,回滾有兩種,一種是本地倉庫回滾,另外一種是遠端倉庫回滾。以下詳細講解兩種回滾方式,本文主要講解遠端回滾,以及常見使用誤區。 本地倉庫回滾 本地回滾就很簡單,只是要撤銷 commit 資訊即可。可以直接使用 Reset HEAD

git--版本建立、的原理及演練

宣告:文章原稿來源於恩師稀哥。 1. 工作原理 我們來簡單說明一下git的工作原理 ① 在版本庫中建立檔案的時候,就有了檔案的第一個版本,於此同時會生成一個指標指向這個版本 ② 當修改了code.txt中的內容以後,就生成了第二個版本,但是這個版本是依賴上一個版本的,在這個版本中僅僅會

轉:更新最新程式碼到本地、和推送原生代碼到遠端程式碼

一.更新最新程式碼到本地 1.檢視遠端分支 使用如下命令可以檢視遠端倉庫(我這裡有一個origin倉庫) $ git remote -v git remote命令會列出每個遠端庫的簡短名字,在克隆完某個專案後,至少可以看到一個名為 origin 的遠端庫,gi

contos7編譯安裝git及搭建git遠端版本,及鉤子自動更新

一  安裝最新版git1.檢視yum源倉庫git資訊: yum info git初始化的阿里雲contos7的yum是1.8.3.1版本的;和官網不匹配;2.依賴庫安裝yum install curl-devel expat-devel gettext-devel opens

git 遠端分支版本退

方法: git reset --hard commit_id(可用 git log –oneline 檢視) ###原生代碼回退 git push origin HEAD --force ###遠端提交回退 或者 git reset --hard HEAD~1 git pu

git讓單個檔案到指定版本

1.進入到檔案所在檔案目錄,或者能找到檔案的路徑檢視檔案的修改記錄git log fileName結果:如果檔案修改記錄太多,則使用git log -number fileName結果:2.回退到指定版本git reset ** fileName1.git reset -mi

git 遠端程式碼退

1.轉自:http://blog.csdn.net/ibingow/article/details/7541402 Git reflog 可以檢視所有分支的所有操作記錄(包括(包括commit和reset的操作),包括已經被刪除的commit記錄,git log則不能

git 遠端

回滾分三步: (1)備份你當前的程式碼 庫一份,不是必須的操作,但是提醒要 做的,當然有可以用git branch backup 把當前的版本備份到一個新的分支 (2)git log找到要回滾的版本    (3)git reset --hard 要回滾到的版本號,比如 g

git 強制【覆蓋】遠程 源碼

git reset tla hub comm 控制臺 依然 其他人 IT 功能 場景: 1、代碼中沒有刪除密鑰信息就提交到gitlab或者github 上了 2、想要刪除gitlab或者github 上已經提交的源碼和記錄,避免其他人通過gitlab控制臺看到密鑰信息