Articles of git

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理器打开的那个,我可以推,在从扩展打开的那个我得到的公钥问题。

如何在Linux上设置私人git服务器

我已经尝试了如何build立你自己的私人git服务器linux和私人远程git的存储区Ubuntu的linode,但我仍然有问题。 我的本地环境是Windows和我的远程Linux。 我有一些问题: 在第一篇文章中,它描述了为服务器设置公共ssh密钥 – 我从来没有这样做过,我不知道在哪里input命令(甚至不知道本地或远程!!): ssh myuser@server.com mkdir .ssh和scp ~/.ssh/id_rsa.pub myuser@server.com:.ssh/authorized_keys 在我的本地开发机器上,我应该运行msysgit ? 有没有替代品,因为我安装的版本是占用1.4 GB的! 我从http://code.google.com/p/msysgit/downloads/list安装了msysGit-netinstall-1.7.4-preview20110204.exe 我尝试跳过使用git用户和公钥,在远程机器上创build存储库,但是当我尝试git remote add origin ssh://[username]@[domain/ip/hostname]/srv/git/[project-name]作为root用户它说: fatal: Not a git repository (or any of the parent directories): .git

使用git客户端和SVN存储库的最佳工具/方法

我已经使用SVN大约两年了(主要通过TortoiseSVN和IntelliJ),并尝试与Git(主要是通过TortoiseGIT …在这里检测模式?) 我们公司正在使用SVN作为存储库,他们没有想到很快就会切换。 什么是build议的最佳做法和工具在本地使用git和远程SVN服务器的工作? 正如您现在可能收集的,我更喜欢简单的shell扩展/ IDE GUI命令行工具。 另外,我在Windows上工作(请参阅这个相关但过时的问题 )。

无法在Windows上克隆,但可以从Gitlab服务器上的Linux克隆

我想通过SSH克隆远程Gitlab服务器的存储库。 我正在使用Gitlab CE version 9.3.9 755bb71和TortoiseGIT version 2.5.0和git (for windows) version 2.14.0 SSH密钥正确安装,因为我已经testing了使用身份validation ssh -vT git@192.168.100.100 -i /path/to/.ssh/key 使用上面的密钥,我得到以下消息authentication成功 OpenSSH_7.5p1, OpenSSL 1.0.2k 26 Jan 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to 192.168.100.100 [192.168.100.100] port 22. debug1: Connection established. debug1: identity file /path/to/.ssh/key type 1 debug1: key_load_public: No such file or directory debug1: identity […]