Articles of git

处理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 […]

Git说:关键difftool.vs2012.cmd的值不止一个

我今天跑了这个命令两次,第二次尝试引号,因为这个设置似乎没有效果: git config –global difftool.vs2012.cmd "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" -diff "$LOCAL" "$REMOTE" 现在当我运行这个: git config –global –get difftool.vs2012.cmd 我得到这个: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe error: More than one value for the key difftool.vs2012.cmd: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe 注意错误。 运行git difftool -t vs2012仍然不起作用,但是我的问题是如何在Gitconfiguration文件中删除明显重复的键值对呢? 在input这个问题的时候,我再次运行了第一个命令,现在我似乎有三次了! 为什么它不断增加而不是覆盖? configuration文件在哪里,所以我可以使用记事本编辑它而不是这个可怕的,糟糕的命令行语法? 我认为Git将会是人们对此感到震惊的方式。 PS以下问题没有提及如何解决它。 关键的user.name Git有多个值

为什么git-upload-pack(git clone期间)挂起?

我已经读过其他几个'git挂在克隆'问题,但没有符合我的环境和细节。 我使用cygwin(msys git不是一个选项)内置的git,通过SSH克隆Linux主机上的repo。 git clone user@host:repo 我已经在其他平台上testing了相同的主机,并且它工作正常,但是在这台Windows机器上,克隆无限期地挂起。 我设置GIT_TRACE=1 ,看起来问题是这个命令: 'ssh' 'user@host' 'git-upload-pack '\''repo'\''' 我的SSH密钥设置正确: ssh user@host正常工作。 当我运行命令时,我得到了一堆输出,像这样结束: … 003dbbd3db63763922ad75bbeefa3811dce001576851 refs/tags/start 0000 然后它挂了20多分钟,这是我杀了它之前等待的最长时间。 服务器有Git 1.7.11.7和OpenSSH 5.9p1,而客户端有Git 1.7.9和OpenSSH 6.1p1。 这应该是git上传包输出的结束? 这是在Git或我的configuration错误?

GIT克隆到外部驱动器进行备份

对我来说很容易,我不是一个命令行的人…我们在我们的Windowsnetworking(使用msysgit&GitExtensions)设置了GIT。 我们每个都有我们自己的仓库,我们推送到我们的一台服务器上的远程“裸”仓库。 都好。 我试图在服务器上设置一个预定的作业,这将从C驱动器克隆到一个外部驱动器(在F) – 有一些困难得到这个工作。 我可以很容易地在Git bash中做到这一点,但是我不知道如何将它保存到一个batch file中,然后我可以对其进行处理。 我到目前为止: rmdir F:\GitClone /s /q mkdir F:\GitClone mkdir F:\GitClone\Repo1 CD /DF:\GitClone\Repo1\ GIT CLONE /c/GIT/Repo1/ 我也尝试了以下的最后一行: GIT CLONE C:\GIT\Repo1\ 但是这也行不通…我有点难住,希望得到一些帮助。 C驱动器包含我们裸存储库和F驱动器是我们外部驱动器,我们每天换出… 这里有几个答案非常有用,谢谢。 我得到的答案可能是这些的组合,所以指出如何运行bash脚本以及如何脚本拉/推。 需要将这些function集中在一起工作,以便在各种驱动器交换时(例如,如果外部驱动器上不存在克隆存储库,然后只是区别其他方面),那么它很高兴,但这应该是可行的。 谢谢大家。

如何在同一个存储库中保持两个文件同步?

我在git仓库看起来像这样: -Project Repo -Sub Folder 1 -File 1 -File A -Sub Folder 2 -SubSub Folder -File 2 -File B 文件1和文件2是精确的副本,而不是手动同步它们,我想用git自动执行。 同时文件A和B不一样,我不希望它们被同步。 git中可以保持同步文件吗?

在Intellijterminal中设置git

我想在Intellij Terminal中使用git,但是它不能识别这个命令。 在命令提示符和Windows电源shell中识别的命令(我在系统环境variables中添加了gitpath)。 我也知道Intellij与Git有一个GUI集成。 那么,谁能告诉我如何在Intellijterminal中使用git命令?