ADSense script

Code Colors

顯示具有 git 標籤的文章。 顯示所有文章
顯示具有 git 標籤的文章。 顯示所有文章

2019年12月28日 星期六

Define version with git tag and breach

有時候看到程式有問題,卻不知道他出自哪個版本
也許可以參考下列:
程式 build 之前, 讓IDE 自動執行 ctrl.sh 檔案(不能自動就手動囉) 將所需要的版本號 compiler 進去程式裡面
由於該項目沒有正式導入使用,使用者請斟酌

最大原因 version.h 檔案無法與真正的commit的一致!!!
因為 commit 後 commit次數變了 檔案指紋也變了 所以執行 ctrl.sh 後 又會生成一個新的 version 檔案...
無限循環 雞生蛋 蛋生雞的問題 我投降!!...
有需要的 可以參考下面 程序自行更改:

2019年12月23日 星期一

讓 git commit 更好的理解commit 的作用...type:

程式變動不外乎 新增/變動feature, fix bug, refactor function, add some tests, change style, modify documentation, revert commit, improves performance.

因此 type 使用以下類別:

2017年1月31日 星期二

Windows push repo to bitbucket by TortoiseGit

Step 1: 建立Putty Key 密鑰  密鑰
Step 2: 申請Bitbucket帳號, 並建立一個Repository
Step 3: Bitbucket SSH 密鑰設定方式
進入Bitbucket的管理畫面,在Bitbucket 右上角頭像中選取 Bitbucket settings

選擇左下角 Security 的SSH key

這邊SSH Key 能刪除但不能更改.新增方式 Add Key, 將標記名稱與公鑰即可貼上.
Step 4: 在TortoiseGit中輸入相關訊息
推送有兩種方式,都需要將其路徑貼到 TortoiseGet   Remote origin 的 URL 中,Putty Key 位置也一併寫入。

上述的 URL 路徑 可以在Bitbucket 中的 Repository中找到。

1. HTTPS:
   Push 的時候會讓你輸入Bitbucket 的密碼。

2. SSH:
  設定密碼到 Bitbucket 後,可不輸入密碼直接上傳資料。

但...人算不如天算,錯誤訊息:
tortoisegit bitbucket to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.這主要是因為Key 無法正確配置,我們雖然設定了密鑰位置也設定了 Bitbucket 的公鑰,但 TortoiseGit 推送中的 autoload key 顯示無法勾選,那到底是有load key 還是沒有 load key 呢?

其實這主要是由於 ssh client 設定錯誤, 我們需要指定 SSH client 的位置,預設是ssh (for OpenSSH),對應錯誤會讓 Key 無法產生作用,我們需要在 TortoiseGit settings => Network 中設定 SSH client 正確路徑, Plink 一般是 "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
參考. 當然你安裝時選成 Plink 但想用openssh key, 也是相同的位置做更改。

2017年1月28日 星期六

Git 移除太大的檔案

一不小心加入大檔案到 git , 事後才發覺該怎麼辦呢?
請參考官方網站 維護及資料復原 ...
注意 請先將資料備份  若改壞恕不負責

使用 "C:\Program Files\Git\git-bash.exe", 看一下Git 控管中資料到底有多少,
先用 git 整理一下資料,
 $ git gc
Counting objects: 118, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (103/103), done.
Writing objects: 100% (118/118), done.
Total 118 (delta 74), reused 0 (delta 0)

看看資料大小:
$ git count-objects -v
count: 0
size: 0                  <===== 尚未整裡的資料大小
in-pack: 118
packs: 1
size-pack: 88824 <===== 整理後的資料大小 (88MB)
prune-packable: 0
garbage: 0
size-garbage: 0

先看看我們有什麼大的檔案 在 git 歷史裡
$ git verify-pack -v .git/objects/pack/pack-f281f7156b17e6bd09a5997530c06f73f00d35d9 | sort -k 3 -n | tail -3
41695866016a1b15c0afca6f245ead1688927a78 blob   48375598 17882652 73069419 1 431afce4d21aae4f7456423d57e7aa41e5270572
431afce4d21aae4f7456423d57e7aa41e5270572 blob   107386372 18624491 54444035
98cfa13fbe22f508b65b58772b18d0888f7a02e8 blob   107386372 18662533 27542

偷懶的做法:
$ git verify-pack -v .git/objects/pack/* | sort -k 3 -n | tail -3  
431afce4d21aae4f7456423d57e7aa41e5270572 blob   107386372 18624491 54444035
98cfa13fbe22f508b65b58772b18d0888f7a02e8 blob   107386372 18662533 27542  <== 會有重複的
98cfa13fbe22f508b65b58772b18d0888f7a02e8 blob   107386372 18662533 27542

檔案名稱反查
$ git rev-list --objects --all | grep 98cfa13f
98cfa13fbe22f508b65b58772b18d0888f7a02e8 wx_pch.h.gch/Debug_wx_pch_h_gch

知道名稱後,就可以把他從 Git 控管的歷史中移除掉
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch  wx_pch.h.gch/Debug_wx_pch_h_gch'
Rewrite a9d6e52a7bbfe36b82aa1b84aaf2042ff6942210 (1/7) (0 seconds passed, remaining 0 predicted) rm 'wx_pch.h.gch/Debug_wx_pch_h_gch'
Rewrite 5d5eba75d45a1da9728be2536c72db25831fb4d3 (2/7) (1 seconds passed, remaining 2 predicted) rm 'wx_pch.h.gch/Debug_wx_pch_h_gch'
Rewrite 7dd375e3e9f5a92c8af45ea9e418a9ba9f4f6258 (2/7) (1 seconds passed, remaining 2 predicted) rm 'wx_pch.h.gch/Debug_wx_pch_h_gch'
Rewrite a46b60616757186fb94f2a3d81f526b3c6e4db19 (2/7) (1 seconds passed, remaining 2 predicted) rm 'wx_pch.h.gch/Debug_wx_pch_h_gch'
Rewrite c89c8050190e6c9c4a7054843a210ec545848f1d (5/7) (2 seconds passed, remainRewrite 22fd295101421c6d805bd076d359e94938da731f (5/7) (2 seconds passed, remainRewrite 342f4d3624e78b7528eeb4ebbd1ccafd033162e6 (5/7) (2 seconds passed, remaining 0 predicted)
Ref 'refs/heads/master' was rewritten

再讓 Git 整理一下資料
$ rm -Rf .git/refs/original
$ rm -Rf .git/logs/
$ git gc
Counting objects: 64, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (64/64), done.
Total 64 (delta 34), reused 53 (delta 33)
$ git prune --expire=now

看看整理過後的資料大小:
$ git count-objects -v
count: 0
size: 0
in-pack: 64
packs: 1
size-pack: 39
prune-packable: 0
garbage: 0
size-garbage: 0


縮小好多 就等待檢查資料有沒有被改壞.....

牙醫助理可以做一輩子嗎

很多人好奇牙醫助理可以做一輩子嗎? 理想是 牙醫助理可以一輩子做,但要靠進修或轉向管理/技術,才能保持薪資與職涯成長,不然容易薪資高度在那。 還有助理做到診所牙醫退休關門的。