Articles of git

Gitolite钩子不起作用

我已经使用Cygwin和gitolite 在Windows上设置了GIT服务器,如文章中所述 。 在客户端Windows机器上,我使用TortoiseGit 。 安装完成后,一切正常。 我可以用TortoiseGit使用我的SSH密钥克隆gitolite-admin存储库,并查看存储库内容。 但是,当我尝试推送新的/conf/gitolite.conf内容后,服务器无法再使用我的SSH密钥访问(它通过gitolite从服务器上的* authorised_keys *中删除)。 gitolite.conf的新内容(我想添加新的repository 项目 ): repo gitolite-admin RW+ = alexey repo Project RW+ = alexey repo testing RW+ = @all 它出什么问题了?

Git for Windows中的Bash:运行带有args的CMD.exe / C命令时出现奇怪

这更多的是一个烦恼,而不是一个问题,但我非常想了解这里的语义。 我所要做的就是在临时命令提示会话上运行一个任意命令,该会话本身在bash会话下运行。 我的成功率是50/50,因为一些命令按预期工作,而另一些则不是那么多。 我认为这个问题可能存在于没有正确排列的论点(即缺失或合并的论点) 我会试着通过一系列命令和回应来解释我的意思。 (我试图让字testing被打印在屏幕上。) 我在GNU bash 3.1.0(1) – 版本(i686-pc-msys)下运行这些版本与Git-1.8.4捆绑在一起: 第一次尝试: $ cmd /c echo test Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. c:\> 第二次尝试: $ cmd '/c echo test' test" 第三次尝试: $ cmd "/c echo test" test" 第四次尝试: $ cmd /c\ echo\ test test" 第五次尝试: $ cmd "/c […]

msys git和长path

我正在尝试使用git来更有效地pipe理使用CVS进行源代码控制的项目的工作,但是我遇到了问题,那就是add一个文件,这个文件的path确实很长 – 有276个字符。 不幸的是,这个文件是由自定义的IDE生成的,我正在使用的工具随附在工具中,因此无法重命名或移动。 使用以下来尝试使这个半可读的: <projectpath> – 保存该项目所有组件的path <hugepath>的path<hugepath> – 从<projectpath>到我遇到问题的第一个文件的path <filename> – 我遇到问题的文件的名称 me@work <projectpath> $ git init Initialized empty Git repository in <projectpath>/.git/ me@work <projectpath> (master) $ git add <hugepath>/<filename> fatal: unable to stat '<hugepath>/<filename>': No such file or directory me@work <projectpath> (master) $ ls -al <hugepath> ls: <hugepath>/<filename>: File or path name […]

Git – 后接收钩不能在远程的Windows服务器上工作

我试图得到一个git post-receive hook在Windows上工作。 我使用的是Git 1.7.9(Msysgit),并在本地有一个回购站,在远程服务器上有回收站。 我可以读取,提交,推送等。我已经build立了一个post-receive钩子,应该将文件检出到一个工作文件夹(部署过程的一部分),但似乎不起作用。 这就是我所做的: 更改文件,阶段并提交 推送到远程服务器 – 成功 期待看到回声 – 看不到回声 检查服务器上的工作文件夹 – 最新的文件不存在 login到服务器并手动运行挂钩脚本 – 将最新的文件签出到工作文件夹中。 我改变了钩子,所以它什么也不做,除了回应一个消息,我已经读过,我应该看到这个在推后我的控制台。 但是这并没有被显示出来,所以我只能假设这个钩子没有被解雇。 我正在处理请求的服务器上通过git dot aspx推送HTTP,并通过gui在本地进行注入。 之后,我试图倭黑猩猩和钩通过gui或bash控制台推动不起作用。 我假设有人有这个工作的地方,但经过两天寻找所有我find的解决scheme,没有帮助或人们有同样的问题,没有得到答复。 (我是一个混帐新手btw)。 干杯。 更新 我开始认为这可能与权限有关 – 但是Unix权限,而不是NTFS。 当@eis提到了我曾经承认的NTFS权限。 但更多的挖掘后,似乎Windows上的Git仍然检查Unix文件烫发。 所以我怀疑问题是post-receive文件是不可执行的,因为当我做一个ls -o它是-rw-r-r–(我相信)。 如果我尝试通过bash和chmod 777 post-receive更改这个,那么执行ls -o的权限是一样的。 奇怪的是,只要我编辑post-receive(用记事本++)执行位被删除。 (我的testing脚本以.bat结尾,虽然保留其执行位…) 顺便说一句,我login的用户是文件的所有者(根据ls -o ),但我不能设置权限。 现在开始变得非常困惑。 我错过了一些非常明显的东西吗 更新2 chmod 777 post-receive既不chmod 777 post-receive也不chmod 777 […]

有没有可能使用winmerge从cygwin查看git差异?

我喜欢在cygwin上使用git,但唯一的缺点是当我想要git difftool我不能使用任何有用的东西。 git diff在大多数情况下都适用,但有时我想用winmerge通过git difftool来查看这些差异是否有一些方法来设置它?

在Windows 10命令行中启用git

我似乎无法从我的本地Windows命令行使git工作。 我已经尝试了PowerShell,我有我的环境variables中的git斌的path,但它仍然给我一个“ command not found ”,当我inputgit 。 我已经看过这里的解决scheme,而且没有一个适合我。 我没有C:/Program Files/git folder (or Program Files(x86)) 。 如果我打开git桌面应用程序,然后使用“打开启用git的terminal”选项,我可以使命令行git工作。 这一切都很好,除了打开桌面应用程序永远在我的笔记本电脑,我宁愿能够只是鞭出命令行拉我的代码。 如果有人有任何build议,我很乐意重新安装git,并遵循特定的指示,或者安装一个更可行的git版本。 谢谢。

在Windows上Git 2.13条件configuration

Git版本: 2.13.0.windows.1 操作系统: Windows 7 CLI: Git bash 的.gitconfig [user] name = Gyandeep Singh email = private@email.com [push] default = current [core] autocrlf = input [includeIf "gitdir: ~/Documents/webstorm/corporate/"] path = .gitconfig-work 的.gitconfig工作 [user] name = Gyandeep Singh email = corporate@email.com 上面的configuration文件都放在同一个目录(home)中。 发生了什么事情:在公司文件夹内的一个文件夹(示例testing)上打开CLI,然后运行git config user.email ,输出是private@email.com 。 预期:结果应该是corporate@email.com 。 我做错了什么,或者我的期望不正确? 我确实按照git文档。 解 你必须在git初始化的目录下运行git config –show-origin –get […]

如何从Windows上的GitHub桌面更新git版本

我想要使​​用git 2.5引入的新的工作worktreefunction。 但是,我不知道如何更新到最新版本的GitHub桌面( 而不是 git本身)。 我安装桌面GitHub ,希望它随着最新版本,但是git –version返回git version 1.9.5.github.0 。 但是,如果我理解正确,我们已经在2.6.x版本! 那么我怎样才能在我的Windows机器上更新到这个版本,我唯一安装的git版本是GH桌面?

处理Git拒绝重置的文件?

我和我的同事们在使用我们的Windows repostiory克隆上的某些文件的同时,让git行为正常,遇到了很大的麻烦。 克隆已经通过克隆源自OSX机器的存储库来完成。 我们已经将autocrlf设置为true,但问题是我们经常会发现git认为会改变的文件,即使我们从来不碰它们(我们甚至不用编辑器打开它们)。 下面的输出说明了这个问题:我有什么想法出错? $ git status # On branch master # Your branch is behind 'origin/master' by 27 commits, and can be fast-forwarded. # # Changed but not updated: # (use "git add <file>…" to update what will be committed) # (use "git checkout — <file>…" to discard changes in working directory) # […]

无法获得git扩展来推动某些东西到github SSH问题

我试图使用git扩展,我真的很喜欢它,但我没有设法推到github。 以下命令在git bash中正常工作: git push "origin" master:master 然后当我用git扩展推送时,我得到这个: C:\Program Files\Git\bin\git.exe push "origin" master:master Permission denied (publickey). fatal: The remote end hung up unexpectedly Done 在git设置中,它只是select了openSSH,我想保留,因为腻子似乎更麻烦。 我已经在gitextensions中添加了远程地址,实际上我只是为了testing而从bash中完成的唯一的事情就是上面的命令,并且通过SSH密钥。 所有其他的都在git扩展中设置。 所以我想所有的东西都必须正确设置。 例如,电子邮件地址和名称是正确的… ssh git@github.com 也连接好,从bash 编辑 : 所以我可以通过从cmd中的git扩展命令重现错误。 显然,从git bash和从cmd运行有区别,git-extensions运行这个命令就像一个Windows命令…任何线索? 更新 :如果我从git-extensions的菜单中selectgit-bash,我会得到一个与我在右键单击资源pipe理器的repo文件夹时一模一样的窗口,然后在这里selectgit bash。 现在,在从资源pipe理器打开的那个,我可以推,在从扩展打开的那个我得到的公钥问题。