Articles of git

Git – 切换分支(窗口)&uncommited更改

我很难理解一些git / DCVS的概念。 以下是发生的事情: 我创build了一个git项目,并从SVN仓库导入 我做了一些提交 我想尝试一些东西,所以我创build了一个名为constants-update的分支 我切换到常量更新分支,移动了一些文件,删除了其他人,并添加了更多 我致力于这个分支 现在我正在尝试使用git checkout master切换到我的主分支 我得到这个错误: 错误:你有本地修改'src / groovy / Constants.groovy'; 不能切换分支。 我对DCVS的理解是,只要我提交了我的文件,即使某些分支文件比其他文件多或less,也可以随意切换分支。 我试着提交git commit -a并切换到主分支,但我有同样的错误。 作为一个侧面说明,当我提交git警告我LF将被CRLF取代,并警告我一些尾随的空格; 在我提交后,我做了一个git status ,一堆文件总是显示为#modified … 这是相关的混帐/ 窗户 ,或者我不明白它应该发生什么? 我只想切换到我的主分支, 而不会丢失其他分支中的更改 。

为什么git一直在搞我的行结尾?

我在Windows上,并禁用了core.autocrlf : $ git config core.autocrlf; git config –global core.autocrlf false false 现在,我认为,git不会混淆任何行结尾,但我的回购中的一些文件不断导致问题。 我刚刚克隆了一个新的repo副本,而git已经告诉我有未分离的更改。 当我git diff -R ,我可以看到CRLF行尾已经被添加到一个文件中: diff –git b/nginx-1.11.1/contrib/geo2nginx.pl a/nginx-1.11.1/contrib/geo2nginx.pl index bc8af46..29243ec 100644 — b/nginx-1.11.1/contrib/geo2nginx.pl +++ a/nginx-1.11.1/contrib/geo2nginx.pl @@ -1,58 +1,58 @@ -#!/usr/bin/perl -w – -# (c) Andrei Nigmatulin, 2005 +#!/usr/bin/perl -w^M +^M +# (c) Andrei Nigmatulin, 2005^M 我不明白这些行结尾是从哪里来的,但我也无法“回复”这个改变。 当我再次检出文件时,它仍然会被修改: $ git checkout -f […]

提交到Github通过Github桌面应用程序(Windows)没有出现

我几个小时前通过Github网站创build了两个存储库。 然后,我去了Github桌面应用程序,并提交了这两个存储库的许多提交。 我遵循的过程是: 在Github网站上创build存储库 转到Github桌面应用程序,并为选定的存储库点击“克隆” 该存储库被克隆到“文档”中的“Github”文件夹 然后我复制我的代码文件到每个存储库文件夹(通过Windows资源pipe理器) 在Github桌面应用程序中,我自动获得了“x uncommited changes”的复制文件数量。 我在“摘要”和“描述”部分添加了一条消息,并在最后点击了“提交”button,并出现一个蓝色的复选标记。 然而,现在我在另一台(Ubuntu的)电脑上,想要克隆这两个仓库,似乎没有任何提交被推送到Github。 Github的网站也显示了我刚开始创build的两个版本库,使用readme.md进行初始化。 没有别的。 什么地方出了错?

msysgit钩子错误:“git错误:不能产卵.git /钩子/后提交:没有这样的文件或目录”

我遇到了麻烦得到post-recieve和post-commit挂钩与msysgit(Windows 7 Pro / 32和Ultimate / 64)正常工作。 对于post-commit hook,如果我从git-bash或控制台提交,我会得到上面的错误,但是如果我通过git-gui提交,它会正常工作。 对于后接收钩,所有三个给出了相同的错误。 我认为这是某种权限或path错误,但并不知道从哪里开始。

如何在Windows上运行git钩子脚本,通过文件系统使用存储库?

由于其简单性,我们使用放置在共享磁盘上的远程存储库,使用文件系统path(\ server \ share)访问它。 在这种情况下,可以运行远程仓库中定义的钩子脚本吗? 我已经定义了一个,但它似乎没有启动(在钩子脚本中使用非有效编辑进行testing,女巫应该导致错误)。

操作系统重置后的“不是git存储库”

今天早上,我的Windows 10崩溃,并重新启动,一旦我提起我的笔记本电脑的屏幕。 没有特别的活动正在进行,所以我不认为有重大的磁盘活动。 然而,我的主要Git回购之一,重置后崩溃。 这是我试过的: $ git status fatal:不是git仓库(或任何父目录):.git $ git init重新初始化现有的Git仓库…… /。git / $ git status fatal:不是git仓库(或任何父目录):.git 循环 我不认为我有提交的提交,所以擦除和从远程克隆应该工作。 不过,在这种情况下,我可以问问如何恢复现有的Git存储库( .git目录仍然存在, chkdsk报告确定)? [添加]阅读这个,但不适用于我的情况(我无法恢复回购)

确切地说Git Bash for Windows'提示符被定义?

我的办公室和家用电脑都有Git Bash for Windows来源于同一个源码(Git for Windows,TortoiseGit附带),但是Git Bash的提示符在两台机器上都有所不同: 在办公室电脑上我有/c/path (branch)全是绿色的(这是,我怎么想它), 在家用电脑上,我只有path(不分支)和全白。 直到现在我被告知,这是PS1variables,保存在~/.bashrc文件中。 但是,在这两台机器上,这个文件丢失了(执行notepad ~/.bashrc打开空的记事本)。 我迷路了 如果~/.bashrc不存在,那么从哪里Git Bash“知道”,它应该显示当前分支,在绿色提示? 为什么在第二台机器上不会发生这种情况? 编辑 : 我也试图比较两个机器和Git Bash.vbs文件的内容的c:\Program Files\Git\etc\文件夹内容。 在两台计算机上都是一样的,所以我甚至不知道Git Bash的提示符在两台计算机上是不同的(以及如何解决这个问题)。 几个答案(像这样 , 这个和这个 )已经提示我,我应该寻找.bash_profile和.bash_prompt文件。 不幸的是,我的两台电脑上都没有这两个。 究竟是什么文件决定在Windows 7下呢? 我应该在哪里寻找什么, PS1variables的值应该是什么,在两台机器上显示绿色提示的当前分支?

Git在Windows上推送SSH不起作用

我有一个谜你们! 在这个问题上经过了半天的努力之后,我需要你的经验来启发我用msysgit在Windows上的git使用。 上下文: Windows 8 msysgit ,最新版本 使用SSH密钥authentication Pagent使用有效的.ppk键处理SSH密钥身份validation(使用PuTTYlogin即可) 裸仓库是健康的 ,权限确定。 使用git linux客户端(在本地Ubuntu VM上使用相同的SSH密钥进行testing) ENV: GIT_SSH = d:\path\到\腻子\ plink.exe HOME = C:\path\为\自己 问题: 短: error: insufficient permission for adding an object to repository database ./obj 长: D:\path\to>git clone ssh://git@my.server.net/opt/git/project Cloning into 'project'… Unable to use key file "D:\path\to\puttykey.ppk" (unable to open file) remote: Counting objects: […]

如何在Web工程(ASP)的Windows工作站/服务器上将Git设置为VCS?

我们有5人负责一些ASP项目的工作。 在运行Windows Server的局域网中有一台本地服务器,我们不会使用它作为备份存储。 而且我们也有一台运行Windows Server的远程服务器。 我们在那里发布我们的最终产品,并使用远程桌面连接来处理它。 我们目前的工作stream程是在Dreamweaver中编写代码,然后通过FTP将文件“直接”放到远程服务器上。 现在我们要把Git作为我们的版本控制系统在工作stream程中。 我真的不知道如何设置,我的意思是,如何改变我们的工作stream程。 我们应该把Git服务器放在我们的本地服务器或远程服务器上吗? 接着? 任何build议将不胜感激! 谢谢! 对不起我的英文:D 卡尔

在Windows局域网上的Git

我和我的同事正在考虑给我一个尝试,看看我们是否可以轻松地做到这一点。 我们在一个纯Windows环境下工作。 在我们自己的机器上,我们已经用gingw32和SmartGit作为GUI客户端。 有没有一个简单的方法更基于共享文件夹的概念比“托pipe服务器”的概念? 例如,我们希望在局域网上共享的文件夹上托pipe一个git存储库,将其克隆到我们的机器上,并查看如何将更改推回到该文件夹​​,合并它们等等。 我们的第一个问题是从局域网克隆。 当然,git不能识别像\\mymachine\shared\repo这样的path 如何从我们的方法开始? 是可行的吗? 有什么build议? 提前致谢。 编辑 如所build议的,命令行方法奏效。 我们还必须反斜杠,以便git clone //machine/directory/repository做了伎俩。 现在,我的同事有一个本地副本工作,做了一些改变…如何将他们推回到共享文件夹? 在本地path上推送和获取工作,我们启动并运行我们的testing。 谢谢你们!