我在一些分行的工作,但現在我想結帳到另一個指定的分支。當我設置結賬選項,如執行該如何設置結帳選項libgit2表現得像個「混帳結賬」
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
結算和我的庫中的所有文件被更改到checkouted分支文件...
如果我已提交執行的第一個分支,一切都清楚了,但如果我不這樣做,我就會失去所有我無法改變的變化。
有沒有一種辦法,這會像在終端「混帳結賬」? 我的意思是,當我進行結賬,程序如果有一些未提交的更改實現,
- >如果沒有 - 結帳發生
- >如果有一些未提交的更改,它打印像一些信息Git的 終端
例如消息從終端:
您對以下文件的局部變化會被檢出覆蓋: output.csv
我想我必須設置不同的結帳策略,但我不知道哪些是最好的
我也試過
opts.checkout_strategy = GIT_CHECKOUT_NOTIFY_DIRTY;
,但它的表現一樣力
我試過了,但如果我設置結算策略,以GIT_CHECKOUT_SAFE - > checkouting後,更改僅在git倉庫製成,但文件保持不變,如果有任何uncommited更改 –
順便說一句,如何打印confilcting文件?我試過cout << opts.notify_cb << endl;還有cout << git_checkout_notify_cb(opts.notify_cb)<< endl;但它打印相同:00000000 - >如果有未提交的更改,並將其打印,這也同樣如果沒有 –
如果我使用的cout << git_checkout_notify_cb(opts.notify_flags)<< ENDL;它打印00000001,也總是這樣,不管是否有變更或不變 –