你不一定知道的幾個很有用的 Git 命令

2021-10-03 11:53:35 字數 2016 閱讀 1480

1. 匯出最後一次提交修改過的檔案

我一直在使用這個命令定期進行傳送給其他人進行審查/整合。這條命令將把近期提交的修改過的檔案匯出到乙個zip檔案。

git archive -o ../updated.zip head $(git diff --name-only head^)

2. 匯出兩次提交之間修改過的檔案

同樣,如果你需要匯出兩次提交之間修改過的檔案,你可以用這乙個。

git archive -o ../latest.zip new_commit_id_here $(git diff --name-only old_commit_id_here new_commit_id_here)

3. 轉殖乙個特定的遠端分支

如果你想從遠端倉庫轉殖特定的乙個分支,這條命令對你很有用:

git init

git remote add -t branch_name_here -f origin remote_repo_url_path_here

git checkout branch_name_here

4. 從無關的本地倉庫應用補丁

git --git-dir=path_to_other_repository_here/.git format-patch -k -1 --stdout commit_hash_id_here| git am -3 -k

5. 檢查您的分支變化是是否其他分支的一部分

cherry 命令可以讓你檢查你的分支的變化是否存在於其他一些分支之中。它會顯示在當前分支相對於給定的分支的修改,用+或-標誌提示提交合併與否。+表示不存在,而-表示存在於給定的分支。

git cherry -v other_branch_name_here

#for example: to check with master branch

git cherry -v master

6. 啟動乙個無歷史的新分支

有時候,你需要啟動乙個新的分支,同時想摒棄歷史資訊,例如,你想將**放在公共領域(開源)又不想共享歷史資訊。

git checkout --orphan new_branch_name_here

7. 在不切換分支的情況下從其它分支檢出檔案

下面的命令是從其他分支獲取檔案,而不用切換分支。

git checkout branch_name_here -- path_to_file_in_branch_here

8. 忽略跟蹤檔案的修改

如果你工作在乙個團隊,他們都是工作在同乙個分支,你需要頻繁的讀取/合併檔案。但是有時復位了你環境的特定配置,你必須在合併後每一次都再改一下。使用這個命令,你可以忽略更改特定的檔案:

git update-index --assume-unchanged path_to_file_here

9. 檢查提交的修改是否發布版本的一部分

這個 name-rev 命令可以告訴你提交相對於最新發布版本的位置。利用這一點,你可以檢查你的變化是否發布版本的一部分。

git name-rev --name-only commit_hash_here

10. 使用 pull rebase 操作替代 merge

如果你工作的團隊正工作在同乙個分支,那麼你所要做的獲取/合併或經常拉取。分支合併的 git 記錄與合併提交時提示功能分支被併入主幹。但在多個團隊成員工作的同一分支的情況下,經常合併導致在日誌中多個合併的訊息引起混亂。所以你可以使用 pull rebase,以保持歷史資訊清除了無用合併的訊息。

git config branch.branch_name_here.rebasetrue

此外,您可以配置乙個特定的分支總是衍合:

git pull --rebase

你不一定知道的幾個很有用的 Git 命令

這裡給大家分享一些很有用的git命令,其中很多用法你可能都不知道,無論你是工作在團隊環境中或在您的個人專案中,這些命令將對你幫助很大,讓你可以更加高效的進行專案開發,更輕鬆愉快的工作和生活。1.匯出最後一次提交修改過的檔案 我一直在使用這個命令定期進行傳送給其他人進行審查 整合。這條命令將把近期提交...

abap系列 你不一定知道的open sql用法

作為abaper open sql中的select和in 子查詢屬於日常必備的技能。然而,open sql還有一些語法你可能沒用過甚至沒聽過,這些語法用好了可以大大減少 複雜度和提高效能,下面就來看看這些用法吧。場景1 取建立日期晚於憑證日期的採購憑證,用於統計補單率。1 select eneln ...

你不一定知道的UrlPrefix路由規則

接上文,容器內web程式一般會繫結到或http 以確保使用容器ip可以訪問到web應用。正如我們在asp.net core官方映象顯示的,asp.net core程式在容器內80埠監聽請求 web程式啟動後,根據監聽位址urlprefix中的主機元素,會向系統元件http server api註冊不...