git使用中的幾個冷門技巧

2021-07-27 14:24:10 字數 2302 閱讀 4303

有時候,同事推了分支origin/test,測試完成後將本地(git branch -d test)和遠端的該分支(git push origin --delete test)都操作刪除,這時,我們本地使用命令git branch -a卻還是能夠看到這個分支,並能成功checkout。但其實你並不希望看到這個test分支:

$ git remote show origin  #顯示所有分支,並提示其狀態

$git remote prune origin#全部予以刪除(也可指定具體分支進行操作)

二、如何把已經提交的commit, 從乙個分支放到另乙個分支

而其實我希望將這個commit做到test1上面的

$ git checkout test1

$git cherry-pick 50db69485

[test1 e7574ee] this is a mistack

date: sun mar 12 08:36:54 2017 +0800

1 file changed, 1 insertion(+)

create mode 100644 iwant2commit2test1

三、修改已經commit的內容

曾經包含敏感資訊的內容直接commit的筒子們舉個手,往往commit甚至push之後發現備註寫錯了字或者提交檔案中有密碼。這時還有救嗎?

$ git show 2d91ccfcf

commit 2d91ccfcf8b25b27b7245077a7654eb799ff58f5

author: ***x

date:   sun mar 12 08:49:31 2017 +0800

typo in comment

diff --git a/sensitive_file b/sensitive_file

new file mode 100644

index 0000000..05e7a00

--- /dev/null

+++ b/sensitive_file

@@ -0,0 +1 @@

+this is my db password

繼續修改檔案內容後,git add 後執行

$git commit --amend

$ git log

commit e84762041f68e210b65c463007d2349b86b92135

author: ***x

date:   sun mar 12 08:49:31 2017 +0800

changed the commit comment

$ git show e84762041f

commit e84762041f68e210b65c463007d2349b86b92135

author: ***x

date:   sun mar 12 08:49:31 2017 +0800

changed the commit comment

diff --git a/sensitive_file b/sensitive_file

new file mode 100644

index 0000000..9e0708f

--- /dev/null

+++ b/sensitive_file

@@ -0,0 +1 @@

+my db password deleted

$git push --force

------the end---

分享幾個冷門Python技巧

有很多文章介紹了python中各種很酷的功能 如變數拆包 偏函式 列舉可迭代物件等 但說到python時,還有很多東西可以談論。今天打算分享我所知道和使用的一些特性,這些我在其他地方很少見人提到過。整理字串輸入 對使用者輸入進行整理的問題幾乎適用於你編寫的所有程式。通常情況下,將字元轉換為小寫或大寫...

PowerDesigner中幾個使用技巧

一 主鍵自增 二 設定列的約束 三 修改name和code一起改變的選項 tools generator options dialog name to code mirroring 不勾選 四 檢視中同時顯示name code等 五 將資料表匯出成指令碼 快捷鍵是 ctrl g 操作是 databa...

PowerDesigner中幾個使用技巧

一 主鍵自增 二 設定列的約束 三 修改name和code一起改變的選項 tools generator options dialog name to code mirroring 不勾選 四 檢視中同時顯示name code等 五 將資料表匯出成指令碼 快捷鍵是 ctrl g 操作是 databa...