一文總結(jié)GitHub使用指南

總覽Git和GitHub是任何想要編程的數(shù)據(jù)科學(xué)專業(yè)人員的必備工具在此面向初學(xué)者的綜合指南中,可以了解到Git和GitHub的相關(guān)內(nèi)容和意義介紹?!耙粋€(gè)人能做的事情很少,但我們一起,就可以做很多事情?!?——海倫·凱勒聽說過版本控制嗎?當(dāng)我開始編程時(shí),我還沒聽說過這個(gè)工具。尤其是在為各種數(shù)據(jù)科學(xué)任務(wù)編寫代碼時(shí)頭暈?zāi)垦?,那時(shí)還沒有意識到編寫高效代碼的重要性以及管理整個(gè)代碼庫的必要性。直到進(jìn)入這個(gè)行業(yè)時(shí),才明白版本控制的重要性。我學(xué)到的第一件事是清楚了Git和GitHub的意義。雖然一直很了解它們(經(jīng)常使用它們來克隆Google Research和其他頂級數(shù)據(jù)科學(xué)組織的開源代碼),但從未真正理解它們的真正用途。

版本控制之美對我來說是一個(gè)啟示。我可以創(chuàng)建一個(gè)遠(yuǎn)程項(xiàng)目,讓我所有的團(tuán)隊(duì)成員同時(shí)獨(dú)立地處理不同的功能,但在一天結(jié)束時(shí)仍然有一個(gè)穩(wěn)定的運(yùn)行代碼,這種方式讓我著迷。瞬間,我發(fā)現(xiàn)了一個(gè)解決在協(xié)作項(xiàng)目時(shí)曾經(jīng)面臨的問題的靈丹妙藥。我非常高興與你分享這篇有關(guān)Git和GitHub的文章。我們將介紹這兩種工具的工作方式以及如何使用它們使你的數(shù)據(jù)科學(xué)項(xiàng)目更容易跟蹤。作為數(shù)據(jù)科學(xué)家,你需要對這些工具有扎實(shí)的了解。你不僅會面臨有關(guān)此問題的面試問題,而且你將在數(shù)據(jù)科學(xué)領(lǐng)域中非常依賴Git和GitHub。

如果你正在與一個(gè)項(xiàng)目的其他數(shù)據(jù)科學(xué)家合作(這種情況經(jīng)常發(fā)生),那么有時(shí)你必須更新一段代碼或一個(gè)功能。Git和GitHub將在這里幫助你創(chuàng)建更好的工作流程。無論你進(jìn)行什么更改,你都可以輕松地將其提供給所有協(xié)作者。如果你輸入有誤,也可以隨時(shí)回到以前的版本目錄。

什么是Git?什么是GitHub?熟悉Git術(shù)語Git入門初始化存儲庫配置Git了解如何在Git中提交文件查看日志在GitHub上上傳到遠(yuǎn)程存儲庫將Git遠(yuǎn)程添加到你的存儲庫使用Push克隆GitHub存儲庫分支與合并使用Pull為世界貢獻(xiàn)力量尾注讓我們深入了解Git和GitHub的世界!

什么是Git?Git(https://git-scm.com/) 是一種廣泛使用的版本控制系統(tǒng)(Version Control System ,VCS),可讓你跟蹤對代碼所做的所有修改。這意味著,如果新功能引起了任何錯(cuò)誤,都可以輕松回到以前的版本。但是Git不只是VCS,它還是分布式VCS。這意味著項(xiàng)目的每個(gè)協(xié)作者都將擁有在本地計(jì)算機(jī)上所做更改的歷史記錄,因此人們可以處理項(xiàng)目的不同功能,而不必與托管該項(xiàng)目的遠(yuǎn)程版本服務(wù)器進(jìn)行通信。你可以輕松地將對項(xiàng)目所做的任何更改與遠(yuǎn)程副本合并,這將大大提高工作效率。由于它是用C語言編寫的,所以速度和性能從一開始就在Git中根深蒂固。除此之外,在實(shí)際保存對項(xiàng)目的任何更改之前,Git還提供了大量緩存區(qū)。如果你想了解更多有關(guān)Git的信息,請?jiān)L問其官方網(wǎng)站(https://git-scm.com/about/branching-and-merging) ,找到問題的答案!

什么是GitHub?GitHub(https://github.com/) 是一個(gè)廣泛使用的版本控制平臺,其核心是Git,它使你可以托管項(xiàng)目的遠(yuǎn)程版本,所有協(xié)作者都可以從中訪問它。不僅你自己的團(tuán)隊(duì)成員,而且GitHub的任何成員都可以為你的代碼做出貢獻(xiàn)(當(dāng)然,如果你選擇接受所做的更改)。我們將在本文中詳細(xì)討論這些。GitHub就像一個(gè)社交平臺,你可以在其中找到大量帶有其代碼的開源項(xiàng)目。在該平臺上可以找到所有新興技術(shù)。你可以在驚人的項(xiàng)目上進(jìn)行合作,并就自己的貢獻(xiàn)進(jìn)行討論!這將是你找到的最佳開源平臺,也是數(shù)據(jù)科學(xué)家的夢想!你可以在GitHub看看我們最好的開源數(shù)據(jù)科學(xué)項(xiàng)目,每月都收集在這里:(https://www.a(chǎn)nalyticsvidhya.com/blog/tag/github-repositories)在GitHub上可以做很多事情,讓我們開始吧。熟悉Git術(shù)語存儲庫(Repository)

Repository或Repo是一個(gè)文件夾,其中包含所有項(xiàng)目文件和每個(gè)文件所做的修訂歷史。在項(xiàng)目的整個(gè)生命周期中,將使用項(xiàng)目的兩個(gè)存儲庫:遠(yuǎn)程存儲庫和本地存儲庫:遠(yuǎn)程存儲庫包含你的項(xiàng)目,任何人從任何地方都可以訪問它。你的遠(yuǎn)程存儲庫位于GitHub服務(wù)器上,任何人都可以訪問它們本地存儲庫是駐留在本地計(jì)算機(jī)上的遠(yuǎn)程存儲庫的副本。你所做的所有更改將保存在本地存儲庫中。除非你將它們推送到遠(yuǎn)程存儲庫,否則你的同伴開發(fā)人員將無法看到它們克?。–loning)git clone < Repo-URL >克隆意味著在本地計(jì)算機(jī)上創(chuàng)建遠(yuǎn)程存儲庫的副本?,F(xiàn)在,你可以在本地計(jì)算機(jī)上對項(xiàng)目進(jìn)行更改。提交(Commit)git commit -m “< commit message >”提交更改時(shí),將對文件所做的更改保存在repo中。在本地計(jì)算機(jī)上使用Git時(shí),使用commit命令會將文件保存在本地存儲庫中,要在遠(yuǎn)程存儲庫中進(jìn)行這些更改,你可以使用push命令。推送(Push)git push origin < branch >Push命令允許你將本地存儲庫上的所有更改傳輸?shù)竭h(yuǎn)程存儲庫上。傳輸之后,所有其他開發(fā)人員都可以訪問你所做的更改,并且他們可以更新其本地存儲庫。拉取(Pull)git pull < remote-repo >如果push意味著將代碼傳輸?shù)竭h(yuǎn)程存儲庫,則Pull命令允許你將所有更改從遠(yuǎn)程存儲庫傳輸?shù)奖镜卮鎯?。因此,開發(fā)人員將其推送到遠(yuǎn)程存儲庫的任何更改,都可以使用pull命令將其轉(zhuǎn)移到本地存儲庫中。你還需要了解一些術(shù)語,但現(xiàn)在不需要。我們將在本文的后半部分詳細(xì)介紹它們?,F(xiàn)在,讓我們創(chuàng)建我們的第一個(gè)GitHub存儲庫!Git入門你應(yīng)該做的第一件事是在系統(tǒng)上下載Git。對已經(jīng)準(zhǔn)備好的人表示敬意!其他人,請轉(zhuǎn)到此處(https://git-scm.com/downloads) 為你的操作系統(tǒng)下載Git。這很簡單,你可以很快完成?,F(xiàn)在,Git程序旨在與Unix風(fēng)格的命令行環(huán)境一起使用。Linux和macOS已經(jīng)在其本地命令行終端中為此提供了一個(gè)接口。因此,我在本文中使用的所有g(shù)it命令都可以在其終端上正常工作。但是,Windows具有完全不同的命令行界面,稱為命令提示符,它不是Unix風(fēng)格的命令行環(huán)境,那么我們該怎么辦?不用擔(dān)心,你在安裝Git時(shí)已經(jīng)安裝了Git Bash。Git Bash是Windows的命令行界面,可以模擬Git命令行,因此只要你在Git Bash中實(shí)現(xiàn)Git命令,就可以了。我將交替使用術(shù)語“終端”或“命令行”來指代macOS和Linux用戶的命令行環(huán)境,以及Windows用戶的Git Bash。我要你做的下一件事是創(chuàng)建一個(gè)項(xiàng)目文件夾,你將在其中保存本地存儲庫,然后按照以下步驟在該項(xiàng)目文件夾中打開終端:打開終端或Git Bash鍵入命令cd,這意味著更改目錄(或文件夾)導(dǎo)航到項(xiàng)目文件夾所在的位置,但不要打開它現(xiàn)在,只需將文件夾拖放到終端內(nèi)即可,這會將終端導(dǎo)航到你的項(xiàng)目目錄/工作目錄

準(zhǔn)備好開始使用Git!初始化存儲庫存儲庫或存儲庫是一個(gè)文件夾,其中包含所有項(xiàng)目文件和對每個(gè)文件進(jìn)行的修訂。你在上面創(chuàng)建的項(xiàng)目目錄不是存儲庫,一個(gè)存儲庫需要使用git init命令(https://git-scm.com/docs/git-init) 初始化。

完成此操作后,將在項(xiàng)目/工作存儲庫中創(chuàng)建一個(gè)隱藏的.git文件夾,這是你本地的Git存儲庫。如果看不到它,可能是因?yàn)樗请[藏的,你需要更改設(shè)置中的某些屬性以使其可見,但是也不用擔(dān)心,即使你沒有看到它,它仍然存在。Git會將你對項(xiàng)目文件所做的所有更改存儲在此文件夾中。

配置Git但是在我們對存儲庫進(jìn)行任何更改之前,我們希望Git知道我們是誰。我們可以使用git config命令來做到這一點(diǎn)。使用此設(shè)置,我們可以設(shè)置用戶名和用戶電子郵件地址?,F(xiàn)在,每次我們提交時(shí),Git都會保存此信息,以便你知道誰進(jìn)行了更改。git config — global user.namegit config — global user.email

如果使用–global選項(xiàng),則Git將為系統(tǒng)中的所有存儲庫保存此信息,如果只希望為該特定存儲庫保存信息,則可以將其省略。了解如何在Git中提交文件現(xiàn)在,你可以開始構(gòu)建項(xiàng)目并將文件添加到項(xiàng)目目錄。我的項(xiàng)目是用不同的編程語言編寫“ Hello world”,因此我將為此目的在我的項(xiàng)目目錄中添加一些文件,你也應(yīng)該對項(xiàng)目目錄執(zhí)行相同的操作,因?yàn)樗F(xiàn)在為空。創(chuàng)建文件并將其添加到項(xiàng)目目錄后,你可以使用git add <file-name>將它們添加到本地Git存儲庫中。

如果要一次添加多個(gè)文件,請使用git add。

我們完成了嗎?提交更改的命令不是用別的命令嗎?你是絕對正確的!我們尚未將文件添加到本地存儲庫。我們剛剛告訴Git,已經(jīng)進(jìn)行了一些更改,我們希望將這些更改保存在下一次提交/保存中,到目前為止,這些“added”文件位于一個(gè)名為“ 暫存區(qū)”的位置。暫存區(qū)是工作目錄和本地repo之間的一個(gè)中間位置,在將所做的任何更改提交到repo之前,都可以在這里進(jìn)行檢查。

1234下一頁>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-06-01
一文總結(jié)GitHub使用指南
總覽Git和GitHub是任何想要編程的數(shù)據(jù)科學(xué)專業(yè)人員的必備工具在此面向初學(xué)者的綜合指南中,可以了解到Git和GitHub的相關(guān)內(nèi)容和意義介紹?!耙粋€(gè)人能做的事情很少,但我們一起,就可以做很多事情。

長按掃碼 閱讀全文