

#儘管Git 能夠很好地決定如何合併分支以及如何向文件添加修改,但它並不總是完全自己做決定。當我們想要合併的兩個分支的同一檔案中的同一行程式碼上有不同的修改,或者一個分支刪除了一個檔案而另一個分支修改了這個檔案時,Git 就不知道如何取捨了。 #####################在這樣的情況下,Git 會問你想要保留哪一個選項?假設在這兩個分支中,我們都編輯了 README.md 的第一行。 ############

當嘗試合併這些分支時,Git 會向你展示衝突出現的位置。我們可以手動移除我們不想保留的修改,保存這些修改,再次新增這個已修改的文件,然後提交這些修改。

#

#
在我們正在rebase 的提交上,我們可以執行以下6 個動作:
reword:修改提交資訊;
-
#edit:修改此提交;
############################################ squash:將提交整合到前一個提交中;
#fixup:將提交整合到前一個提交中,不保留該提交的日誌訊息;
exec:在每個提交上執行我們想要rebase 的命令;
drop:移除該提交。

#

#
#當我們不想要先前提交的修改時,就會用到這個指令。也許這是一個 WIP 提交或可能是引入了 bug 的提交,這時候就要執行 git reset。
git reset 能讓我們不再使用目前檯面上的文件,讓我們可以控制 HEAD 應該指向的位置。
軟重置
#軟重置會將HEAD 移至指定的提交(或與HEAD 相比的提交的索引),而不會移除該提交之後加入的修改!
假設我們不想保留新增了一個 style.css 檔案的提交 9e78i,而且我們也不想保留新增了一個 index.js 檔案的提交 035cc。但是,我們確實又想要保留新加入的 style.css 和 index.js 檔案!這是軟重置的一個完美用例。

#
有時候我們不想保留特定提交引入的修改。不同於軟重置,我們應該再也無需訪問它們。 Git 應該直接將整體狀態直接重置到特定提交之前的狀態:這甚至包括你在工作目錄和暫存檔案上的修改。

#
假設 ec5be 新增了一個 index.js 檔案。但之後我們發現其實我們再也不需要由這個提交引入的修改了。那就還原 ec5be 提交吧!
#

### ##########當一個特定分支包含我們的活動分支所需的某個提交時,我們對那個提交執行cherry-pick!對一個提交執行 cherry-pick 時,我們會在活動分支上建立一個新的提交,其中包含由揀選出來的提交所引入的修改。 ############

透過在這個遠端分支上執行 git fetch,我們就可以在本地取得這些修改。這不會以任何方式影響你的本地分支:fetch 只是單純地下載新的資料而已。


#
git reflog 是一個非常有用的指令,可以顯示已經執行過的所有動作的日誌。包括合併、重置、還原,基本上包含你對你的分支所做的任何修改。
#

假設我們其實並不需要合併原有分支。當我們執行 git reflog 指令時,我們可以看到這個 repo 的狀態在合併前位於 HEAD@{1}。那我們就執行一次 git reset,將 HEAD 重新指向在 HEAD@{1} 的位置。

以上是幾十張動圖告訴你 Git到底是怎麼玩的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

GitHub是一個基於Git的版本控制系統託管平台,提供版本控制、協作開發和社區交流功能。使用GitHub可以提高開發效率和代碼質量。

Git和GitHub是不同的工具:Git是用於版本控制的軟件,GitHub是基於Git的在線平台。 1.Git允許你跟踪文件變化和協同開發。 2.GitHub提供代碼託管和協作工具,增強團隊開發效率。

GitHub的核心功能包括版本控制、分支管理、代碼審查、問題跟踪和項目管理。 1.版本控制與分支管理基於Git,允許追踪代碼變更和實驗性開發。 2.代碼審查通過PullRequest實現,提升代碼質量和團隊協作。 3.問題跟踪與項目管理通過Issues和項目管理板進行,提高項目透明度和可追踪性。

GitHub是提升軟件開發效率和質量的強大工具。 1)版本控制:通過Git管理代碼變更。 2)PullRequests:進行代碼審查,提高代碼質量。 3)Issues:跟踪bug和項目進度。 4)GitHubActions:自動化構建、測試和部署流程。

Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,支持本地操作;GitHub提供在線協作工具,如Issue跟踪和PullRequest。

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版
好用的JavaScript開發工具