我刚刚运行了一个git diff,我得到了所有大约10个子模块的以下输出
diff --git a/.vim/bundle/bufexplorer b/.vim/bundle/bufexplorer
--- a/.vim/bundle/bufexplorer
+++ b/.vim/bundle/bufexplorer
@@ -1 +1 @@
-Subproject commit 8c75e65b647238febd0257658b150f717a136359
+Subproject commit 8c75e65b647238febd0257658b150f717a136359-dirty
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我如何解决它?
是否有一种简单的方法可以让Git始终标记每个创建的提交或标记?
我尝试过类似的东西:
alias commit = commit -S
但那并没有成功.
我不想安装其他程序来实现这一目标.它可以轻松实现吗?
只是一个侧面的问题,也许不应该提交提交,只有标签,我从不创建,因为我为Homebrew等项目提交单一提交.
这有可能吗?我试过git config --global alias.diff 'diff -b -w'但不幸的是,这不是解决方案.
每当我跑步git diff或者git show它默默地自动追加时我都希望这样--ignore-all-space.有没有办法做到这一点?我知道我可以创建这样的别名:
Run Code Online (Sandbox Code Playgroud)[alias] sh = show --ignore-all-space di = diff --ignore-all-space
但我想直接使用diff和show命令.
我正在尝试在同一个git存储库中的两个项目之间移动文件.在Xcode中,我可以将对新项目的引用移动得很好但是只要我将文件移动或复制到新项目文件夹,git就会丢失所有日志/错误历史记录.
在命令行上,我可以做git log --follow,这有效,但我如何在Xcode中做到这一点?
我正在使用 Intellij 和命令行 Git,但我们遇到了看不到提交的问题,因为 Git 默认不显示“无趣的”更改。
例如,如果开发人员“A”更改某些内容并推送更改,然后开发人员“B”将其更改回原样(在“A”更改之前)并推送该更改,那么这些提交将不会显示在历史记录中因为它们会相互抵消(至少这是向我解释的方式。)这使得很难找到问题并导致很多“我的更改去哪里了?”
理想情况下,Intellij 和命令行都会在默认情况下显示完整的历史记录、所有提交,包括合并。
任何人都知道在 .gitconfig 中完成此操作的设置?
编辑:以下部分来自git-log 文档,并解释了我所说的“无趣的变化”是什么意思
默认模式 将历史简化为解释树最终状态的最简单历史。最简单,因为如果最终结果相同,它会修剪一些侧分支(即合并具有相同内容的分支) --full-history 与默认模式相同,但不会修剪一些历史记录。
有没有办法在.gitconfig中设置git clone自动添加--recurse-submodules标志?我试着在.gitconfig中添加以下内容:
[fetch]
recurseSubmodules = true
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
$ git clone upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.
Run Code Online (Sandbox Code Playgroud)
我需要添加--recurse-submodule标志
$ git clone --recurse-submodule upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.
Submodule 'euca2ools' (https://github.com/eucalyptus/euca2ools.git) registered for path 'euca2ools'
Cloning into 'euca2ools'...
remote: Counting objects: 19147, done.
remote: Total 19147 (delta 0), reused 0 (delta 0), pack-reused 19147
Receiving objects: 100% (19147/19147), 22.23 MiB | 450.00 KiB/s, done.
Resolving deltas: 100% (15556/15556), done.
Checking connectivity... done.
Submodule path 'euca2ools': checked out '12c358cd27ff652cb144de124bb5472a74145277'
Run Code Online (Sandbox Code Playgroud)
我的GIT版本:
$ git …Run Code Online (Sandbox Code Playgroud) 我们是一组开发人员,处理同一组文件.我想确保没有人做git commit -a -m或git commit -am
包括我在内的开发人员都有这种不好的习惯,git commit -am/ -a -m我们有很多特定于机器的conf文件,每次都会被提交.我可以要求我们所有人使用--assume-unchanged但是我想让开发人员根本不能使用-a标志
我能不能以某种方式实现这一目标.