我的朋友和我正在尝试使用Git服务器:Windows上的Gitosis和Cygwin来设置Git for Windows ,但是我们仍然遇到问题。 使用msysgit的“安装Git服务器”指南是什么样的? 在上面的教程中有一个评论build议它不能用msysgit完成,因为gitosis需要使用SSH服务器和Bash? 什么是一步一步的指导(因为没有一个可用)? 安装mysisgit ?
自从分支机构分支出来以后,在分支机构上提交提交日志的最好方法是什么? 我迄今为止的解决scheme是: git log $(git merge-base HEAD branch)..branch git-diff的文档表明, git diff A…B相当于git diff $(git-merge-base AB) B 。 另一方面, git-rev-parse的文档表明r1…r2被定义为r1 r2 –not $(git merge-base –all r1 r2) 。 为什么这些不同? 请注意, git diff HEAD…branch给了我想要的差异,但相应的git log命令给了我比我想要的更多。 在图片中,假设: X —Ÿ—ž—分公司 / — —一个B —电Ç— — dÈ— HEAD 我想获得一个包含提交x,y,z的日志。 git diff HEAD…branch给这些提交 然而, git log HEAD…branch给出了x,y,z,c,d,e。
我需要将两个Git仓库合并成一个全新的第三仓库。 我已经find了许多关于如何使用子树合并(例如JakubNarębski关于如何合并两个Git存储库 的答案 )的说明以及遵循这些说明的主要工作,除了当我提交子树合并所有文件从旧版本库被logging为新添加的文件。 当我做git log ,我可以看到来自旧版本库的提交历史git log ,但是如果我做的是git log <file>那么它只会显示一个对该文件的提交 – 子树合并。 从上述答案的评论来看,我并不是一个人看到这个问题,但我没有find任何发布的解决scheme。 有什么办法可以合并存储库,并保持个人文件的历史logging不变?
我有一个问题设置崇高的文字2作为core.editor与git 。 我已经阅读了所有可以解决问题的文章,但仍然没有为我工作。 我正在运行Windows。 我已经做好了: git config –global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'" 并尝试用像-m这样的各种参数。 当我打开我的.gitconfig ,这是在那里: [user] name = Spencer Moran email = smoran02@gmail.com [core] editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe' 如果我去Git并input: README.markdown –edit 在记事本中打开自述文件,而不是崇高文本。 有没有人有任何想法我做错了,或者我怎么能解决这个问题?
如何停止在Git中跟踪远程分支? 我要求停止跟踪,因为在具体情况下,我想删除本地分支,但不是远程分支。 删除本地和删除远程将删除远程分支以及: 如何在本地和GitHub中删除Git分支? 我可以只是做git branch -d the_branch ,它不会传播时,我后来git push ? 如果我运行git push origin :the_branch稍后会传播吗?
在某些文件中包含^ M作为换行符分隔符的项目中。 区分这些文件显然是不可能的,因为git-diff将整个文件视为一行。 如何与以前的版本不同? 有没有这样的选项,如“在处理时将^ M作为换行符”? prompt> git-diff "HEAD^" — MyFile.as diff –git a/myproject/MyFile.as b/myproject/MyFile.as index be78321..a393ba3 100644 — a/myproject/MyFile.cpp +++ b/myproject/MyFile.cpp @@ -1 +1 @@ -<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate \ No newline at end of file +<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate \ No newline at end of file prompt> 更新: 现在我已经写了一个脚本,检查出最新的10个修订版本,并将CR转换为LF。 require 'fileutils' if ARGV.size […]
什么是撤消一个特定的提交最简单的方法是: 不在头上或头上 已被推到遥远的地方。 因为如果不是最新的提交, git reset HEAD 不起作用。 而且因为它被推到了遥远的地方, git rebase -i 和 git rebase –onto 会在遥控器上造成一些问题。 更何况,我真的不想修改历史。 如果有不好的代码,那是在历史上的,可以看到的。 我只是想在工作副本中,我不介意反向合并提交。 换句话说,以下svn命令的Git等价物是什么: svn merge -r 303:295 http://svn.example.com/repos/calc/trunk 通过将这些修订版本中的所有更改反向合并为新提交,从而将所有从295到302的更改删除。 svn merge -c -302 ^/trunk 解除了302提交,当然通过添加另一个提交来反向合并来自相应提交的更改。 我认为这应该是一个相当简单的操作在Git和一个相当常见的用例。 primefaces提交还有什么意义呢? 我们已经存储了一切,确保提交是完全primefaces的,你不应该能够容易地撤消一个或多个这些primefaces提交吗?
有没有办法恢复或撤消git pull,这样我的源/回购会在git pull之前回到旧状态? 我想这样做,因为它合并了一些我不想这样做的文件,但只合并其他剩余的文件。 所以,我想把这些文件拿回来,这可能吗? 谢谢 :) 编辑我想撤消混帐澄清。 看到一些答案后,我做到了 git reflog bb3139b… HEAD@{0}: pull : Fast forward 01b34fa… HEAD@{1}: clone: from …name… 现在,我该怎么办? 做git reset –hard好的? 我不想再拧它,所以要求详细的步骤?
不知何故,我的主人和我的起源/主人分支已经分歧。 我其实不希望他们分歧。 我如何看待这些差异并“合并”它们?
我提出了一些改变, 我怎么能看到下一个提交的所有文件的差异? 我知道git的状态 ,但我想看看实际的差异 – 不仅仅是上演的文件的名字。 我看到了git-diff(1)手册页说 git diff [–options] [ – ] […] 这种forms是查看你所做的相对于索引的变化(下一次提交的登台区域)。 换句话说,差异是你可以告诉git进一步添加到索引,但你还没有。 你可以通过使用git-add(1)来完成这些更改。 不幸的是,我不太明白这一点。 必须有一些方便的一行,我可以创build一个别名,对吗?