我正在使用结构体成员GetOpenFileName
并将其设置为我想要作为初始目录的目录。然而,在 Win7 上,我的应用程序似乎会记住用户上次打开的目录,并且它会忽略设置并转到最后一个目录。 lpstrInitialDir
OPENFILENAME
lpstrInitialDir
lpstrInitialDir
LPCTSTR
初始目录。不同平台选择初始目录的算法有所不同。Windows 7的:
1.如果 lpstrInitialDir 的值与应用程序第一次使用“打开”或“另存为”对话框时传递的值相同,则用户最近选择的路径将用作初始目录。
2.否则,如果lpstrFile包含路径,则该路径是初始目录。
3.否则,如果lpstrInitialDir不为NULL,则指定初始目录。
有谁知道如何阻止这种情况发生?
我希望我指定的目录成为初始目录,无论用户上次打开的文件是什么,即我希望应用上面的条件 3。我做了显而易见的事情并通过注册表进行了搜索,但我找不到与该问题相关的任何内容。
我在github.com上有一个存储库,我git下载到我的工作站,编辑,提交然后git将更改推回到github.一切正常.
但我经常使用例如克隆来自github.com的只读副本:
git clone git://github.com/jhsrennie/Test.git Test-ro
Run Code Online (Sandbox Code Playgroud)
通常这是因为我有临时测试安装,我不会开发,但我需要检查代码构建和运行.我的github存储库的副本可以是只读的,因为没有任何更改需要推回到github.麻烦的是,当我使用以下命令从github下载更改到我的只读副本时:
git pull origin master
Run Code Online (Sandbox Code Playgroud)
我现在发现git status显示如下:
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
# (use "git push" to publish your local commits)
Run Code Online (Sandbox Code Playgroud)
我无法推动更改,我不想反正,但是未完成的提交会导致我出现问题,例如我无法查看新的远程分支.我最终不得不删除我的只读存储库,并在每次需要更新它时重新克隆它.
如何从github.com更新我的github存储库的只读副本,而不会让他们认为我需要推送提交?
或者,我是以愚蠢的方式做到这一点,是否有更好的方法来实现我的目标?
这对我来说似乎很奇怪,而且显然我缺少了一些东西.这是如何重现问题:
git clone git@github.com:jhsrennie/Test.git Test-rw
git clone git://github.com/jhsrennie/Test.git Test-ro
Test-rw
,然后git add
和git commit
git status
现在显示(正如您所期望的):
renniej@RATHAUS /d/Dev/GIT/Test-rw (master)
$ git status
# On branch master
# Your branch is ahead …
Run Code Online (Sandbox Code Playgroud)