Articles of git

git reset的问题 – 在添加.gitattribute之后 – 不应该存在的局部变化

合并同事的捆绑后,我观察到CRLF问题。 有时LF的线条被混合到源头,可能是合并的线条。 因此,我们决定添加.gitattributes文件以下内容(删除注释): *.cpp text *.h text *.inc text *.cfg text *.dic text *.sln text eol=crlf *.vcxproj text eol=crlf *.filters text eol=crlf *.user text eol=crlf *.rc text eol=crlf *.rc2 text eol=crlf 现在我观察这个奇怪的行为。 我可以看到很多modified: …文件(即不挂起),不应该在那里。 我试过git reset –hard ,但是文件仍然有相同的状态。 我试图再次克隆存储库 – 相同的结果。 我从Git-1.7.11-preview20120620.exe git version 1.7.11.msysgit.0安装git version 1.7.11.msysgit.0作为当前版本的Windows。 还有什么我应该尝试? 谢谢,彼得

在git中忽略符号链接

有没有办法使git完全忽略符号链接(把它们留在树中,但不是在结帐时创build它们)? 另外,有没有办法使git在Linux上的符号链接和Windows上的快捷方式之间进行转换? 上下文:我在Windows和Linux上都使用git和一些LaTeX文件。 在Linux上,我有大量的样式文件存储在回购之外,并从一堆地方符号链接到。 它会工作正常,如果git把它们变成windows上的快捷方式(我有相同的周边目录/文件结构),或者如果git完全忽略它们,并没有检查出来(我有我的LaTeX发行版中的样式文件视窗)。

如何chmod 0777文件并提交到Windows上的Git?

我在Windows上工作,在生产上有一个Linux系统,我想chmod一些文件到0777,但我不知道如何在Windows上做到这一点。 我宁愿不生产,因为我无法承诺/推在那里。 有没有办法在Windows上chmod 0777文件并将其提交给Git,以便在克隆/拉制作时保持0777?

Git如何从UNCpath获取更改?

我有一个Windows PC上的共享文件夹中的Git存储库,我正在访问与UNCpath,例如 git clone //server/share/MyRepo.git 当我从家里通过VPN从这个存储库获取更改时,运行git-upload-pack.exe需要很长时间。 我意识到没有服务器(如此),我的本地PC正在运行所有的可执行文件。 git-upload-pack.exe暗示了我的本地PC正在从远程文件共享中读取文件,以便将它们上传到某个地方,但是这对于自己来说是没有意义的。 这反过来导致我认为fetch是远远不够的performance,因为它可能是。 这就像本地机器正在做所有的工作来削减要传输的数据,但要做到这一点,它必须传输所有的数据。 任何人都可以说明这是如何工作的? 如果不通过SSH运行真正的Git服务器,或者远程的任何东西,或者文件被不必要地来回传输,性能是否会尽可能地好?

jenkins不擅长私人GitHub存储库(Windows)

我不能为了我的生活似乎让我的jenkinsCI与Github一起工作。 我在克隆命令上失败了,但那是由于键,所以我以服务帐户login(用户Jenkins作为Windows服务运行)并运行克隆命令。 一切都很好。 但是,当我想运行获取最新的,它不会完成。 它只是坐在那里。 我已经尝试通过jenkins的Git插件,并通过Windows命令行脚本。 既没有工作。 但是,如果我打开命令提示符并键入命令,它的工作原理! 那么我怎样才能通过jenkins得到它? 我运行这个脚本: set "C:\Program Files (x86)\Git\bin\git.exe" fetch -t ssh://git@github.com/OrgName/MyRepo.git +refs/heads/*:refs/remotes/origin/* exit 0 它坚持取指令,永不退出。 有人有什么build议吗?

如何使git忽略更改情况?

我不太确定这里发生了什么,但是有时候我的存储库中的某个特定文件会改变它的名字。 例如,: 之前: File.h 之后: file.h 我并不在意为什么会发生这种情况,但这会导致git认为这是一个新文件,然后我必须回去更改文件名。 你可以让git忽略大小写更改吗? 我怀疑这是Visual Studio做一些奇怪的特定文件,因为它似乎最经常发生,当我打开并保存更改后。 我没有办法修复VS中的错误,但是git应该更有能力,我希望。

在Windows上的Git签出和重置偶尔会显示随机文件已经更改

通常当我检查一个不同的分支或重置时,我会从一个到十几个文件的窗口中获得“权限被拒绝”的错误 – 但是特定的文件因运行而异。 这是我刚做的一个testing的输出,GIT_TRACE = 1。 跟踪只在错误消息之前添加了一行: $ git checkout master trace:内置:git'checkout''master' 错误:git checkout-index:无法创build文件dotnet / src / myfile.cs(权限被拒绝) D dotnet / src / myfile.cs 切换到分支“主” 我很确定这是与我的机器上的病毒扫描程序或其他索引服务的比赛。 如果比赛持续,我可以使用sysinternals来查看文件句柄打开的过程。 但是,它发生得非常快,我不知道有一个工具可以显示我这个冲突。 令人惊讶的是,我还没有发现任何描述类似行为的人。 如何使这些错误停止,或进一步诊断问题? 我特别希望通过识别正在进行同时访问的任何进程来结束文件访问竞赛。 所以对于一个工具的build议,当编辑被拒绝时,显示哪个进程有一个文件locking将是非常有帮助的。 我知道'解锁'和类似的工具,它会告诉我什么过程中locking一段时间的文件。 这对于这个问题不起作用,因为这个过程使文件在很短的时间内保持locking状态。 所以这个工具需要在没有我干预的情况下收集适当的数据,因为我太慢了。

客户端在尝试使用git-http-backend.exe时被服务器configuration拒绝

我使用Apache 2.4 Sat Oct 06 15:25:47.948789 2012] [authz_core:error] [pid 7580:tid 1232] [client 192.168.100.252:10153] AH01630: client denied by server configuration: C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe 这是我的configuration <Directory "C:\git-server"> Options +ExecCGI Allow from all </Directory> <VirtualHost *:80> DocumentRoot "C:/git-server" ServerName **** DirectoryIndex index.php SetEnv GIT_PROJECT_ROOT c:/git-server SetEnv GIT_HTTP_EXPORT_ALL SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER ScriptAlias /git/ "C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/$1" <LocationMatch "^/.*/git-receive-pack$"> Options +ExecCGI […]

在本地networking上运行git服务器

我有一个小公司,为了pipe理项目我想在我的公司(本地)运行一个git服务器。 我如何在我们的本地Windows服务器上安装git服务器? 我希望我的程序员可以使用git命令来连接到这个服务器。

使用git和curl命令行

我正在尝试编写一个函数来将项目推送到github,而不是先在云中创build项目。 目前,您可以使用RStudio中的git命令行使用此问题的信息来完成此操作 。 现在我试图把它包装到一个函数中,我可以使用system从本地仓库创build云中的仓库。 我正在通过这个在Windows和Linux机器上工作(所以不知道这如何在Mac上工作)。 这是我的代码到目前为止(检测混帐位置): gitpath <- NULL repo <- "New" user <- "CantPostThat" password <- "blargcats" if (Sys.info()["sysname"] != "Windows") { gitpath <- "git" } else { if (is.null(gitpath)){ test <- c(file.exists("C:\\Program Files (x86)\\Git\\bin\\git.exe"), file.exists("C:\\Program Files\\Git\\bin\\git.exe")) if (sum(test) == 0) { stop("Git not found. Supply path to 'gitpath'") } gitpath <- c("\"C:\\Program Files […]