我在某个分支机构工作,但现在我想结帐到另一个指定的分支机构。当我设置这样的结帐选项时
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
执行checkout并将存储库中的所有文件更改为checkouted分支中的文件...
如果我在第一个分支中执行了提交,一切都很清楚,但如果我不这样做,我就会失去所有未经修改的更改。
有没有办法在终端中表现得像“git checkout”? 我的意思是,当我执行结账时,程序会意识到是否存在一些未经修改的更改,
- >如果没有 - 结帐正在发生
- >如果有一些未经修改的更改,它会打印一些信息,如git 终端
例如来自终端的消息:
以下文件的本地更改将被结帐覆盖: output.csv
我想我必须设置不同的结帐策略,但我不知道哪个是最好的
我也尝试了
opts.checkout_strategy = GIT_CHECKOUT_NOTIFY_DIRTY;
但它的行为与力
相同答案 0 :(得分:1)
您可能希望将策略设置为GIT_CHECKOUT_SAFE
。然后,您可以将notify_flags
(不是checkout_strategy
)设置为GIT_CHECKOUT_NOTIFY_CONFLICT
,并设置一个打印出冲突文件的通知回调。
答案 1 :(得分:0)
最后,我得到了另一种信息,有我的解决方案:
index.html