出于某种原因,当我最初从存储库中获取我的git项目时,我在工作副本中获得了大量文件,这些文件没有对它们进行任何可识别的更改,但是仍然在我的unstaged changes区域中出现.
我在Windows XP上使用Git Gui,当我去查看文件时看看有什么变化.我只看到:
old mode 100755
new mode 100644
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么?
如何从我的未分级更改列表中获取这些文件?(非常讨厌必须通过100个文件,只是挑选我最近编辑过的文件并想要提交).
假设我想编写一个小助手,它允许将一些元数据附加到存储库中,这种方式可以通过refs. 简单示例(一个git-notes克隆原型,甚至不将注释附加到任何其他 git 对象):
hash=$(echo "Just a comment" | git hash-object -w --stdin)
git update-ref refs/comments/just $hash
Run Code Online (Sandbox Code Playgroud)
即我blob用哈希创建一个hash并引用它,因为refs/comments/just这样git fsck --unreachable不会抱怨它,git gc也永远不会prune是对象。
但这当然是一个非常简单的例子,实际上我对更复杂的功能感兴趣。在那里,我的问题是,我可以“合法”做什么,我绝对应该避免什么?
例如,SE 上的一些帖子是关于用户必须从重复tree条目中恢复的。因此,“不要”就是“不要创建tree具有重复条目的条目”。另一个例子是“你确保你的对象是可到达的,所以git prune不会删除它们。” 还有什么?
我可以创建自定义对象类型吗?对树中的 blob 使用“无效”文件模式?在哪里可以找到概览?或者我应该git-fsck手动检查's source 以查看什么构成错误(哪些是可以忽略的)?
我正在使用 Visual Studio Code 进行我的销售队伍开发。我在将 Git 作为存储库时遇到了一些问题。当我右键单击 package.xml 并说 Retrieve Source From Org 时,它正在从 Org 获取所有文件。
问题是 git 扩展名显示文件已在服务器上修改,即使我在本地有一个示例文件。即使没有更改,我也不想一次又一次地将所有文件推送到我的 git 存储库。
知道为什么会发生这种情况以及如何避免吗?
更新:我做了 git diff 并且它提供了正确的输出。它只显示被修改的文件更改。在这种情况下只有五个。
在linux中,当stat()与断开的链接文件一起使用时,它会失败-1.所以我用了lstat()哪个成功了.
对于Windows中的相同情况,_stat()失败的快捷方式失败,但_lstat()在Windows中没有.请帮助lstat()在Windows中找到替代方案.