對我來說資料庫的備份比甚麼都重要,這種觀念讓我延伸到對文字或是程式的專案備份的重要性。目前我們大部分都是使用 Oracle PL/SQL,程式碼都是儲存在資料庫中,我們不用另外備份程式碼。
但對軟體程式專案來說,尤其是團隊合作的專案,這是不夠的。備份機制應該包括版本控制或是追蹤、維護修訂版本。
SQL Developer 從第 4 版就有支援 Git 版本控制,提供一些 GUI 的介面,讓你操作更方便。以下範例我用的 SQL Developer 版本是 19.2.1。
Create Git Repository
首先選擇 Team > Versions 與 View > Files 打開左邊的 Versions 與 Files 區塊。

建立新的 Git 儲存庫 (Repository 或稱容器),Teams > Git > Initialize

選擇 Git 儲存庫所在的目錄:

建立新的 Git 儲存庫後,在 Files 區塊選擇剛建立的 Git 儲存庫目錄。然後在 Versions 區塊就可以看到 Git 儲存庫的基本資訊。

現在可以開始使用 Git 儲存庫目錄存儲檔案了。

新增、修改或刪除檔案後將這些更動後的檔案加到 Git stage,然後 commit Git 儲存庫。

commit Git 儲存庫時記得要輸入 Comments。

現在修改 Demo_emp.sql 後,commit Git 儲存庫。現在 Git 儲存庫有兩個 commit 的版本。

現在因某些原因,想將舊的版本找回來:

選擇先前 commit 的版本:

左右兩個視窗,可比較不同的版本:

選擇 Open 的版本:

Github 中央儲存庫
如果是一個團隊開發的專案,必須有一個共同存儲專案程式碼或其他資料的地方。中央儲存庫可以選擇放在公司內部的媒體上,也可以選擇雲端的 Github 中央儲存庫,以方便部署到其他雲端的服務上。
這裡有有關 Git 遠端中央儲存庫 的基本介紹。
你也可以參考 Hexo 快速入門 使用 Git 版本控制章節,有關 GitHub 中央儲存庫的介紹。
現在我要將它存儲到雲端的 Github 中央儲存庫。首先到 Github 建立一個儲存庫 (Repository):

這裡選擇 Private ,因為我們不想對外公開。不要選擇 Initialize this repository 的任何選項,因為我們在本機上已有一個 Git 專案儲存庫,我們要從本地端將 Git 儲存庫上傳到 Github。
按下 Create Repository 按鈕後,會有一些指引:

你可以到本地端 Git 儲存庫的目錄,依照上面的指引使用 Git 指令將 Git 儲存庫上傳到 Github。但我們現在要使用 SQL Developer 中的 Git。
新增一個 Remote 連結:

將 Github 專案儲存庫的遠端網址複製貼上,這裡的 Remote name 取名為: origin。

設定好遠端的連結,現在可以將本地端的儲存庫 push 上傳到 Github 中央儲存庫。

輸入你的 Github 帳號密碼:

現在你有本地端的 Git 儲存庫與 Github 中央儲存庫。在本地端開發測試完成後可以使用 push 將本地端的程式同步到 Github 中央儲存庫。其他開團隊的開發者可以使用 pull 將 Github 中央儲存庫的程式抓到他本地端的 Git 儲存庫。

因為目前的 Github 專案儲存庫是私有的 (Private),我們可以邀請其他的 Github 帳號共同開發。被邀請的帳號就可以有權限新增修改 此 Github 儲存庫。

SQL Developer 提供的 Git 介面並沒有限定這個 Git 儲存庫必須得在 SQL Developer 初始化的 Git 儲存庫才可以。只要是 Git 儲存庫都可以使用 SQL Developer 中的 Git 介面,你可以不用安裝其他的 Git GUI 軟體。