教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Github官網(wǎng)git手冊

更新時間:2019年02月12日11時46分 來源:github官網(wǎng) 瀏覽次數(shù):

什么是版本控制系統(tǒng)?

版本控制系統(tǒng)或VCS會跟蹤人員和團隊一起協(xié)作項目時的更改歷史記錄。隨著項目的發(fā)展,團隊可以運行測試,修復錯誤并提供新代碼,并確信任何版本都可以隨時恢復。開發(fā)人員可以查看項目歷史記錄以找出:

·做了哪些更改?

·是誰做出了改變?

·什么時候做出改變?

·為什么需要更改?

·什么是分布式版本控制系統(tǒng)?

Git是通常用于開源和商業(yè)軟件開發(fā)的分布式版本控制系統(tǒng)(DVCS)的示例。DVCS允許完全訪問項目的每個文件,分支和迭代,并允許每個用戶訪問所有更改的完整且自包含的歷史記錄。與曾經(jīng)流行的集中式版本控制系統(tǒng)不同,像Git這樣的DVCS不需要與中央存儲庫的持續(xù)連接。開發(fā)人員可以在任何地方工作,并可以從任何時區(qū)異步協(xié)作。

如果沒有版本控制,團隊成員將受到冗余任務,較慢的時間線和單個項目的多個副本的影響。為了消除不必要的工作,Git和其他VCS為每個貢獻者提供了一個統(tǒng)一且一致的項目視圖,展示了正在進行的工作。查看變更的透明歷史,由誰創(chuàng)建,以及他們如何為項目的開發(fā)做出貢獻,有助于團隊成員在獨立工作時保持一致。

為什么Git?

根據(jù)最新的Stack Overflow開發(fā)人員調查,超過70%的開發(fā)人員使用Git,使其成為世界上使用最多的VCS。Git通常用于開源和商業(yè)軟件開發(fā),為個人,團隊和企業(yè)帶來顯著的好處。

Git允許開發(fā)人員在一個地方查看他們的變更,決策和任何項目進展的整個時間表。從他們訪問項目歷史的那一刻起,開發(fā)人員就擁有了解它并開始貢獻所需的所有上下文。

開發(fā)人員在每個時區(qū)工作。使用像Git這樣的DVCS,可以在保持源代碼完整性的同時進行協(xié)作。使用分支,開發(fā)人員可以安全地建議更改生產代碼。

使用Git的企業(yè)可以打破團隊之間的溝通障礙,讓他們專注于做最好的工作。此外,Git使整個企業(yè)的專家能夠在重大項目上進行協(xié)作。

什么是存儲庫?

一個倉庫,或Git項目,包括與項目相關的文件和文件夾的整個集合,每個文件的修訂歷史記錄一起。文件歷史記錄顯示為稱為提交的快照,并且提交作為鏈接列表關系存在,并且可以組織成稱為分支的多個開發(fā)行。由于Git是DVCS,因此存儲庫是自包含單元,擁有存儲庫副本的任何人都可以訪問整個代碼庫及其歷史記錄。使用命令行或其他易用的接口,git存儲庫還允許:與歷史記錄,克隆,創(chuàng)建分支,提交,合并,比較代碼版本之間的更改等進行交互。

在存儲庫中工作可以保持開發(fā)項目的組織和保護。鼓勵開發(fā)人員修復錯誤或創(chuàng)建新功能,而不必擔心會破壞主線開發(fā)工作。Git通過使用主題分支來實現(xiàn)這一點:歷史記錄中的提交的輕量級指針可以在不再需要時輕松創(chuàng)建和棄用。

通過像GitHub這樣的平臺,Git還為項目透明度和協(xié)作提供了更多機會。公共存儲庫可幫助團隊協(xié)同工作,以構建最佳的最終產品。

基本Git命令

要使用Git,開發(fā)人員使用特定命令來復制,創(chuàng)建,更改和組合代碼。這些命令可以直接從命令行執(zhí)行,也可以使用GitHub Desktop或Git Kraken 等應用程序執(zhí)行。以下是一些使用Git的常用命令:

git init
初始化一個全新的Git存儲庫并開始跟蹤現(xiàn)有目錄。它在現(xiàn)有目錄中添加了一個隱藏的子文件夾,其中包含版本控制所需的內部數(shù)據(jù)結構。

git clone
創(chuàng)建已遠程存在的項目的本地副本??寺“ㄋ许椖康奈募?,歷史記錄和分支。

git add
發(fā)生變化。Git跟蹤對開發(fā)人員代碼庫的更改,但是有必要暫存并拍攝更改的快照以將其包含在項目的歷史記錄中。此命令執(zhí)行分段,這是兩步過程的第一部分。任何已暫存的更改都將成為下一個快照的一部分,并成為項目歷史的一部分。分別進行分段和提交可使開發(fā)人員完全控制其項目的歷史記錄,而無需更改其編碼和工作方式。

git commit
將快照保存到項目歷史記錄中并完成更改跟蹤過程。簡而言之,提交功能就像拍照片一樣。任何已經(jīng)上演的東西都git add將成為快照的一部分git commit。

git status
將更改狀態(tài)顯示為未跟蹤,已修改或已暫存。

git branch
顯示在本地工作的分支。

git merge
將發(fā)展線融合在一起。此命令通常用于組合在兩個不同分支上進行的更改。例如,當開發(fā)人員想要將來自功能分支的更改組合到主分支以進行部署時,他們會合并。

git pull
使用遠程對應的更新更新本地開發(fā)線。如果隊友已經(jīng)對遠程分支進行了提交,開發(fā)人員會使用此命令,并且他們希望在本地環(huán)境中反映這些更改。

git push
使用本地提交給分支的任何提交來更新遠程存儲庫。

從Git命令的完整參考指南中了解更多信息。

探索更多Git命令

有關Git實踐的詳細介紹,展示了如何充分利用一些Git命令。

git status

兩步提交

git pull 和 git push

GitHub如何適應

GitHub是一個Git托管存儲庫,它為開發(fā)人員提供工具,通過命令行功能,問題(線程討論),拉取請求,代碼審查或在GitHub Marketplace中使用一系列免費和購買應用程序來發(fā)送更好的代碼。通過GitHub流程等協(xié)作層,擁有1500萬開發(fā)人員的社區(qū)以及擁有數(shù)百個集成的生態(tài)系統(tǒng),GitHub改變了軟件的構建方式。

GitHub如何工作

GitHub直接將協(xié)作構建到開發(fā)過程中。工作被組織到存儲庫中,開發(fā)人員可以在其中概述需求或方向并為團隊成員設置期望。然后,使用GitHub流程,開發(fā)人員只需創(chuàng)建一個分支來處理更新,提交更改以保存更新,打開拉取請求以提出并討論更改,并在每個人都在同一頁面上時合并拉取請求。

GitHub流程

GitHub流程是一個基于分支的輕量級工作流程,圍繞全球團隊(包括我們的團隊)使用的核心Git命令構建。

GitHub流程有六個步驟,每個步驟在實施時都有明顯的好處:

創(chuàng)建分支:從規(guī)范部署分支(通常master)創(chuàng)建的主題分支允許團隊為許多并行工作做出貢獻。特別是短命的主題分支,可以使團隊專注并快速發(fā)展。

添加提交:分支內的開發(fā)工作快照可在項目歷史記錄中創(chuàng)建安全,可恢復的點。

打開拉取請求:拉取請求宣傳項目的持續(xù)努力,并為透明的開發(fā)過程定下基調。

討論和審查代碼:團隊通過評論,測試和審查開放拉取請求來參與代碼審查。代碼審查是開放和參與性文化的核心。

合并:點擊合并后,GitHub會自動執(zhí)行本地“git merge”操作。GitHub還在合并的拉取請求中保留整個分支開發(fā)歷史記錄。

部署:團隊可以選擇最佳的發(fā)布周期或合并持續(xù)集成工具,并確保部署分支上的代碼經(jīng)過了強大的工作流程。

了解有關GitHub流程的更多信息

開發(fā)人員可以在下面提供的資源中找到有關GitHub流的更多信息。

互動指南

GitHub Flow視頻

GitHub和命令行

對于剛接觸命令行的開發(fā)人員,GitHub培訓團隊已經(jīng)整理了一系列關于Git命令的教程來指導方向。有時候,一系列命令可以描繪出如何使用Git的圖片:

示例:為現(xiàn)有存儲庫提供幫助

# download a repository on GitHub.com to our machine
git clone https://github.com/me/repo.git
# change into the `repo` directory
cd repo
# create a new branch to store any new changes
git branch my-branch
# switch to that branch (line of development)
git checkout my-branch
# make changes, for example, edit `file1.md` and `file2.md` using the text 
editor
# stage the changed files
git add file1.md file2.md
# take a snapshot of the staging area (anything that's been added)
git commit -m "my snapshot"
# push changes to github
git push --set-upstream origin my-branch

示例:啟動新存儲庫并將其發(fā)布到GitHub

首先,您需要在GitHub上創(chuàng)建一個新的存儲庫。您可以在我們的Hello World指南中學習如何創(chuàng)建新的存儲庫。不要使用README,.gitignore或License初始化存儲庫。這個空的存儲庫將等待您的代碼。

# create a new directory, and initialize it with git-specific functions
git init my-repo
# change into the `my-repo` directory
cd my-repo
# create the first file in the project
touch README.md
# git isn't aware of the file, stage it
git add README.md
# take a snapshot of the staging area
git commit -m "add README to initial commit"
# provide the path for the repository you created on github
git remote add origin 
https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
# push changes to github
git push --set-upstream origin master

示例:貢獻給GitHub上的現(xiàn)有分支

# assumption: a project called `repo` already exists on the machine, and a 
new branch has been pushed to GitHub.com since the last time changes were made 
locally
# change into the `repo` directory
cd repo
# update all remote tracking branches, and the currently checked out 
branch
git pull
# change into the existing branch called `feature-a`
git checkout feature-a
# make changes, for example, edit `file1.md` using the text editor
# stage the changed file
git add file1.md
# take a snapshot of the staging area
git commit -m "edit file1"
# push changes to github
git push

協(xié)作開發(fā)的模型


人們在GitHub上合作有兩種主要方式:

1.共享存儲庫

2.叉和拉

使用共享存儲庫,個人和團隊被明確指定為具有讀取,寫入或管理員訪問權限的貢獻者。這種簡單的權限結構與受保護的分支和Marketplace等功能相結合,可以幫助團隊在采用GitHub時快速進步。

對于開源項目或任何人都可以貢獻的項目,管理個人權限可能具有挑戰(zhàn)性,但是fork and pull模型允許任何可以查看項目的人做出貢獻。fork是開發(fā)人員個人帳戶下項目的副本。每個開發(fā)人員都可以完全控制他們的分支,并可以自由地實現(xiàn)修復或新功能。在貨叉中完成的工作要么保持獨立,要么通過拉動請求浮現(xiàn)回原始項目。在那里,維護人員可以在合并之前查看建議的更改。

git手冊

猜你喜歡:
程序員刷題神器-趣IT(https://www.funit.cn)

0 分享到:
和我們在線交談!