第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

PyCharm 編輯器教程

PyCharm 數(shù)據(jù)庫(kù)工具
PyCharm 的數(shù)據(jù)庫(kù)工具

在 PyCharm 里使用版本控制

軟件開發(fā)是在一定周期內(nèi)完成特定的任務(wù),在這期間要?jiǎng)?chuàng)建許多不同類型的文件,也需要記錄和跟蹤項(xiàng)目中各文件內(nèi)容的修改變化,為了提高效率,我們希望這類操作是自動(dòng)進(jìn)行的,這時(shí)就需要版本控制工具。本節(jié)的主要內(nèi)容是介紹PyCharm 支持哪些版本控制工具,都有哪些常用功能。

1. 版本控制工具介紹

1.1 版本控制工具分類

集中式版本控制工具

SVN 是該類型代表性工具,這類版本控制工具允許程序員通過(guò)網(wǎng)絡(luò)來(lái)獲取版本庫(kù)中的代碼,并且在修改之后提交回來(lái)。客戶端可以有無(wú)數(shù)個(gè),但是版本庫(kù)所在的服務(wù)端也還是只有一個(gè)。 對(duì)服務(wù)器性能要求高,必須聯(lián)網(wǎng),不適合開源開發(fā)。

每一個(gè)程序員在本地有一個(gè)工作目錄樹,其內(nèi)容是該版本庫(kù)中最新的代碼。當(dāng)他們?cè)诠ぷ髂夸洏渲型瓿纱a修改之后,就把改動(dòng)提交會(huì)該代碼庫(kù)。在本地工作目錄樹中只會(huì)看到代碼的最新版本,如果想要查詢歷史修改記錄,就必須與服務(wù)器上的版本庫(kù)打交道。

分布式版本控制工具:

Git 是代表性工具,分布式版本控制系統(tǒng)通常也有一臺(tái)充當(dāng)“中央服務(wù)器”的電腦,但這個(gè)服務(wù)器的作用僅僅是用來(lái)方便“交換”大家的修改。每個(gè)開發(fā)人員從“中央服務(wù)器” chect out代碼后會(huì)在自己的機(jī)器上克隆一個(gè)自己的版本庫(kù),每一次提取操作,實(shí)際上是對(duì)代碼倉(cāng)庫(kù)的完整備份。向版本庫(kù)提交代碼無(wú)需鏈接遠(yuǎn)程版本庫(kù),所有的歷史記錄都存儲(chǔ)在本地版本庫(kù)中。程序員之間傳遞同步各自的修改是通過(guò) push 操作直接把修改上傳到主版本庫(kù)。

分布式的版本控制系統(tǒng)在管理項(xiàng)目時(shí)存放的不是項(xiàng)目版本與版本之間的差異,它存的是索引( 所需磁盤空間很少,所以每個(gè)客戶端都可以放下整個(gè)項(xiàng)目的歷史記錄),分布式的版本控制系統(tǒng)出現(xiàn)之后, 解決了集中式版本控制系統(tǒng)的缺陷,斷網(wǎng)的情況下也可以進(jìn)行開發(fā)( 因?yàn)榘姹究刂剖窃诒镜剡M(jìn)行的)。

1.2 PyCharm 支持的版本控制工具

PyCharm 支持 以下的版本控制工具 Git、Mercurial、Perforce 與 Subversion

  1. Git 是一款免費(fèi)、開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。作為一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。適合分布式開發(fā);速度快、靈活,分支之間可以任意切換;離線工作,不影響本地代碼編寫,等有網(wǎng)絡(luò)連接以后可以再上傳代碼,并且在本地可以根據(jù)不同的需要,在本地新建自己的分支。

圖片描述

Tips: Git 是當(dāng)下最為流行的版本控制工具,將在下一小節(jié)具體介紹相關(guān)功能。

  1. Mercurial 也是一種分布式版本控制系統(tǒng),采用 Python 語(yǔ)言實(shí)現(xiàn),易于學(xué)習(xí)和使用,擴(kuò)展性強(qiáng)。其是基于 GNU General Public License (GPL) 授權(quán)的開源項(xiàng)目。因?yàn)樗怯酶呒?jí)語(yǔ)言編寫的,所以你可以用 Python 函數(shù)編寫Mercurial 擴(kuò)展。

在PyCharm 里使用Mercurial 要提前安裝, 目前只支持 Python 2.7 版本,如果你當(dāng)前是3.0 環(huán)境,需要事先準(zhǔn)備2.7 虛擬環(huán)境。更多細(xì)節(jié)參考
圖片描述

  1. SVN 是 Subversion 的簡(jiǎn)稱,是一個(gè)開放源代碼的版本控制系統(tǒng)。屬于集中式的版本管理系統(tǒng)。用于多個(gè)人共同開發(fā)同一個(gè)項(xiàng)目,共用資源的目的。

圖片描述

在PyCharm 里使用 SVN , 需要 Subversion 插件是生效的。除此以外,PyCharm 目前支持與 Subversion 1.7 及更晚的集成,要求下載并安裝命令行 svn 客戶端。安裝細(xì)節(jié)參考
圖片描述

  1. Perforce 簡(jiǎn)稱P4, 是一款非常優(yōu)秀的商業(yè)化版本管理工具,真正的客戶端/服務(wù)器系統(tǒng)。許多動(dòng)畫與游戲制作公司會(huì)選擇用它,因?yàn)樾枰4娲罅康?D模型 、紋理等元數(shù)據(jù),其它版本控制工具在處理二進(jìn)制文件相比 Perforce 要弱。

圖片描述

Perforce 只有在 PyCharm 的專業(yè)版里才被支持,另外需要提前在本地安裝 Perforce 客戶端,并使用 Perforce 倉(cāng)庫(kù)創(chuàng)建帳戶。安裝參考官網(wǎng)

2. 啟用版本控制

  1. 啟動(dòng)版本控制,主菜單 VCS -> Enable Version Control Integration, 選擇版本控制工具。
    圖片描述

  2. 將目錄與版本控制系統(tǒng)關(guān)聯(lián)

PyCharm 支持基于目錄的版本控制模型,這意味著每個(gè)項(xiàng)目目錄都可以與不同的版本控制系統(tǒng)關(guān)聯(lián),但通常不會(huì)在一個(gè)項(xiàng)目里用不同的版本工具。

主菜單 PyCharm/File -> Preference/Settings -> Version Control, 配置目錄。項(xiàng)目根目錄會(huì)自動(dòng)被填加, 點(diǎn)擊 + 按鈕,會(huì)彈出 Add VCS Directory Mapping 填加新的目錄與選擇版本控制工具

圖片描述

3. 與遠(yuǎn)程存儲(chǔ)庫(kù)同步

3.1 建立遠(yuǎn)程存儲(chǔ)庫(kù)

以在GitHub 上建立遠(yuǎn)程存儲(chǔ)庫(kù)為例, 打開要共享的項(xiàng)目,VCS -> Import into Version Control -> Share Project on GitHub。 系統(tǒng)會(huì)要求輸入GitHub 帳戶名與密碼,自動(dòng)建立與 GitHub 的連接后,需要指定遠(yuǎn)程存儲(chǔ)庫(kù)名稱、遠(yuǎn)程 的名稱及描述說(shuō)明等等。
圖片描述
選擇要提交的文件,點(diǎn)擊 Add, 完成第一次提交。遠(yuǎn)程存儲(chǔ)庫(kù)建立成功后,團(tuán)隊(duì)成員就可以共享項(xiàng)目了。
圖片描述

3.2 Fetch Change

主菜單: VCS -> Git -> Fetch 。從遠(yuǎn)程獲取更改時(shí),自上次與遠(yuǎn)程存儲(chǔ)庫(kù)同步以來(lái)所做的所有新數(shù)據(jù)將下載到本地副本中。此新數(shù)據(jù)未集成到本地文件中,更改不會(huì)應(yīng)用于當(dāng)前代碼。提取的更改存儲(chǔ)為遠(yuǎn)程分支,我們能夠在將更改與文件合并之前查看它們,然后再把改變合并到當(dāng)前文件根據(jù)需要。具體演示請(qǐng)看下一節(jié) Git 應(yīng)用。

在這解釋一下分支的概念,在代碼開發(fā)中,我們?yōu)榱朔奖惆姹竟芾砗烷_發(fā)、bug修復(fù)等工作,將代碼分開不同的版本,開發(fā)人員使用不同的版本開發(fā)時(shí),看到的文件可以完全不沖突,各自開發(fā)各自的功能。叫做不同的代碼分支。查看當(dāng)前項(xiàng)目分支: VCS -> Git -> Branches 或者點(diǎn)擊 IDE 底部狀態(tài)欄右下角處。

圖片描述

3.3 Pull Change

主菜單: VCS -> Git -> Pull。從遠(yuǎn)程存儲(chǔ)庫(kù)提取更改是獲取更改并隨后將更改應(yīng)用于當(dāng)前分支的方式。提取時(shí),您不僅下載新數(shù)據(jù),還可以將其集成到項(xiàng)目的本地工作副本中。Pull 將更新本地文件,而 Fetch 提取不會(huì)影響本地開發(fā)環(huán)境,因此 Fetch 是獲取遠(yuǎn)程存儲(chǔ)庫(kù)所有更新的相對(duì)安全的方法, 在實(shí)際工作中,我們更推薦用 Fetch + Merge。具體演示請(qǐng)看下一節(jié)Git 應(yīng)用。

3.4 Update Project

主菜單: VCS -> Update Project。如果每次與遠(yuǎn)程存儲(chǔ)庫(kù)同步時(shí)都希望從所有分支獲取更改,這時(shí)用Update Project。執(zhí)行更新操作時(shí),PyCharm 會(huì)從所有項(xiàng)目根和分支獲取更改,并將跟蹤的遠(yuǎn)程分支合并到本地工作副本(等同于 Pull)。

點(diǎn)擊菜單,顯示下面彈出窗口, 選擇更新策略。
圖片描述

4. 在版本工具下管理文件

  1. 主菜單:View -> Tool Windows -> Commit, 打開 Local Changes. 可以選擇文件增加/排除到版本庫(kù)。
    圖片描述

  2. 根據(jù) Project 窗口中文件顏色,可知道文件的狀態(tài)。
    圖片描述

  3. 可以在編輯器中修改文件時(shí)跟蹤對(duì)文件的更改。所有更改都用更改標(biāo)記突出顯示在修改行旁邊的側(cè)邊欄處。( 前提是文件已經(jīng)提交過(guò)遠(yuǎn)程存儲(chǔ)庫(kù),然后在本地又更新了文件)
    圖片描述
    Tips: 當(dāng)文件被提交后,標(biāo)記也會(huì)自動(dòng)消失。

  4. 如果刪除受版本控制的文件,則在提交更改之前,該文件仍然存在于存儲(chǔ)庫(kù)中。已刪除的文件將放置在活動(dòng)更改列表中,并突出顯示為灰色,直到再次提交,才會(huì)真正刪除。(在"項(xiàng)目"工具窗口中選擇一個(gè)文件,然后按?,或選擇從上下文菜單中刪除, 同樣需要文件提交過(guò)遠(yuǎn)程庫(kù) )。
    圖片描述

  5. 提供多種文件比較方式

  • 將修改后的文件與存儲(chǔ)庫(kù)版本進(jìn)行比較
  • 將文件的當(dāng)前修訂版與同一分支中的選定修訂版本進(jìn)行比較
  • 將文件的當(dāng)前修訂版與其他分支進(jìn)行比較

圖片描述

5. 查看文件更改歷史

PyCharm 提供查看文件更改歷史功能, 可以點(diǎn)擊主工具欄上 Show History 按鈕或者在 Project 工具窗口中的上下文菜單中選擇 Show History,文件的更改歷史記錄將顯示在版本控制工具窗口 Git 的專用歷史記錄選項(xiàng)卡。(View -> Tool Windows -> Git)
圖片描述

6. 擱置和不擱置更改 (Shelve and Unshelve)

Shelve 是版本控制中的一個(gè)概念,就是先把更改臨時(shí)掛起,放在一邊稍后再處理。在實(shí)際工作中,比如有時(shí)候功能只寫了一半,但又有了緊急任務(wù),就可以用 Shelve 把寫了一半的功能掛起,過(guò)后再通過(guò)Unshelve 恢復(fù)代碼繼續(xù)開發(fā)。

Shelve Change

  1. 在 Local Change 視圖中,右鍵單擊要放入 Shelve 的文件或更改列表,然后從上下文菜單中選擇 Shelve Change。
  2. 在 Shelve Changes 對(duì)話框中,查看已修改文件的列表。在 Commit Message 字段中,輸入要?jiǎng)?chuàng)建的 Shelve 的名稱,然后單擊 Shelve Changes 按鈕。然后在 Local Change 視圖中會(huì)出現(xiàn)
    Shelf Tab。
    圖片描述
    我們還可以靜默擱置更改(Shelve Silently),而不顯示 Shelve 對(duì)話框。單擊工具欄上的 Shelve Silently 圖標(biāo), 相應(yīng)的 Changelist 移到 Shelf Tab

圖片描述

Tips: 當(dāng)提交成功后,可看一下源代碼恢復(fù)到?jīng)]有更改前的狀態(tài)。

Unshelve Change
Unshelve Change 是 Shelve 的逆過(guò)程, 可以點(diǎn)擊工具欄的按鈕,也可以通過(guò)上下文菜單。Unshelve 后, 在Local Changes 又可以看到對(duì)應(yīng)的 Changelist。查看源代碼更改過(guò)的代碼又恢復(fù)過(guò)來(lái)了。
圖片描述

7. VCS 與 Bug 管理工具集成

在PyCharm,可以將提交消息與 Bug 管理工具連接,從 VCS 日志中直接跳到 Bug 管理工具中。主菜單:Preference/Settings -> Version Control -> Issue Navigation

圖片描述
在提交時(shí), 在提交信息處按照定義的模板寫 BUG ID
圖片描述
點(diǎn)擊 Commit 提交成功后,在版本控制工具 Git 窗口,可以看到提交信息被系統(tǒng)識(shí)別,變?yōu)橐粋€(gè)超鏈接,通過(guò)點(diǎn)擊它直接跳轉(zhuǎn)到 bug 管理工具。
圖片描述

8. 小結(jié)

本節(jié)主要介紹了 PyCharm 對(duì)版本工具的支持,所有截圖都是基于 Git, 如果選擇其它工具作為版本控制工具,可能略有不同。本節(jié)涉及的內(nèi)容比較多,需要不斷在實(shí)踐中才能真正理解,另外里面涉及到一些概念,建議大家看一下Git 官方文檔,也將在下一節(jié)詳細(xì)介紹 Git 在 PyCharm 中的應(yīng)用。
圖片描述