Articles of git

如何解决执行git push时拒绝.git /目录的权限?

我在我的服务器上build立了一个git仓库。 创build了一个新的用户'git'。 我的回购站位于/srv/git/example.git 。 我能够git remote add origin git@domain/srv/git/example.git然后我添加并提交了我的更改。 但是,当我尝试git push origin master失败: 致命:无法创build临时文件:权限被拒绝“和”致命:sha1文件写入错误:无效的参数“ 在我跑的服务器上: sudo chown -R git:git /srv/git/` 这解决了我的问题,但我想知道这是否是正确的事情?

有没有一个可以接受的git-svn的Linux目标客户端?

我的雇主使用颠覆版本控制,这是不太可能改变。 我有兴趣了解更多关于git的知识,并使用git-svn与我的雇主的Subversion版本库进行交互。 我的问题是:如果我开始使用git-svn,我需要从命令行执行一些还是全部的版本控制工作? 还是有一个(Linux)的GUI客户端,可以执行所有的git-svn相关的任务,我将需要? 更新:根据迄今为止的答案,似乎没有git-svn的GUI客户端。 不过,我想请注意Giggle GUI客户端的这个特性请求 ,以certificate这样的function有一些兴趣。 希望在未来的几个月里,可以在这个问题上增加一个积极的答案。 (事实上​​,我认为在不久的将来,与颠覆交互的最佳方式可能是使用GUI客户端来进行混帐!) 更新2:最近发布的2.1版本的SmartGit完全支持Git / SVN集成。 这certificate至less有一个GUI客户端允许Git和SVN一起使用。 可能还有更多。

如果我们想在版本化的源代码中search,使用git grep比纯grep更好吗?

在git仓库中,使用git grep优于旧的grep是否有任何区别/好处? 一个例子是?

有关在亚马逊云ec2上设置git的虚拟问题

首先,对于我可能在这里抛出的虚拟问题表示歉意。 如果你能指出我应该从哪里去的方向,那将是很好的。 我完全不熟悉版本控制(以及git)和云系统。 但是,我必须在AWS EC2实例上开发基于php的web应用程序,并为将来的开发人员提供有用的代码。 我成功地创build了运行PHP / MySQL的EC2实例,并使用Elastic IP映射了该域。 所以这个网站现在可以通过80端口公开访问。 我也安装了git,使用$sudo yum install git和configed user.name和user.email 然后,我去到网站的根文件夹(例如public_html)并运行创build折叠“.git”的“ git init ”,然后使用“ git add . ”添加文件git add . “并提交” git commit -m 'initial upload' “ 这是正确的路吗? 将项目文件夹放在/ public_html(任何人可以访问的地方)都可以。 如果以上是好的,那么我应该从哪里去? 我希望在EC2上运行git服务器,允许开发人员从本地机器(例如Eclipse)连接,同时能够保留备份并比较不同的代码。 我想给开发者什么细节,以便他们可以连接到git服务器和项目工作? 我快速的方向或几个关键字做更多的研究会有所帮助。

Git Pull:更改身份validation

嘿,所有这一切都很快,因为我对git很陌生。 我有一个服务器上的回购安装(A)通过SSH密钥访问。 我有几个用户,包括我自己。 现在我做我的本地机器上的git clone ,并获得本地副本,进行更改,并push origin master ,一切工作正常。 我遇到的问题是我们的testing服务器(服务器B)已经安装了一切,我想要做的是将我的最新更改拉到该服务器。 testing服务器也有几个用户,以及www-data作为整个目录的所有者(运行Apache)。 当使用我的名字通过SSHlogin时,我不能git pull ,说.git被locking,所以我做sudo git pull ,其中问我一个不同的用户(user1)的密码。 我不知道密码,我想完全删除该用户,但在此之前,我必须切换testing服务器上的git repo,以使用MY身份validation(kovshenin)而不是user1来更改。 什么是正确的方法来做到这一点? 我不想删除一切,并从一个新的克隆开始,因为它有一些本地的变化。 在此先感谢您的帮助。

如何在Git中使用Git for Windows更改目录?

我怎样才能改变到Git Bash中的目录C:/Users/myname/project name ?

不要在linux内核版本中加“+”

我在构buildlinux内核,如果我的内核在git下,那么内核版本每次都是: Image Name: Linux-2.6.39+ 如果我不使用git,那么一切都没问题,最后没有任何加。 我知道这是由脚本/ setlocalversion脚本完成的: if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then # full scm version string res="$res$(scm_version)" else # append a plus sign if the repository is not in a clean # annotated or signed tagged state (as git describe only # looks at signed or annotated tags – git tag -a/-s) and […]

我如何设置Git命令的自动完成?

我有Git(版本1.7.2.5)bash竞争对我的Debian挤(6.0)。 Git与aptitude一起安装,我使用标准的debian的bash ,它支持命令行自动完成。 现在,我只在另一台机器(Lenny / Debian 5.0)上安装了Git(1.5.6.5),并且没有自动完成。 为什么Git自动完成不能在第二台机器上工作? 我如何诊断? 什么是在我的机器上完成工作? 我已经find了文件git-completion.bash但似乎并没有在我的机器上。 Git如何完成工作? 我怎样才能把git完成到另一台机器?

Git别名 – 命令行自动完成分支名称

如果我运行一个常规的git命令(如git checkout ,当点击tab键时,会获得有用的分支名称自动完成。 我有一些以分支名称作为参数的git别名,我想知道是否有办法让分支名称自动完成与他们一起工作? 编辑: 只是从评论的讨论中提供一些澄清,直接映射的别名工作正常,即: ci = commit co = checkout 这是一个更多的参与,并使用$1作为参数不,例如: tagarchive = !f() { git tag archive/$1 origin/$1 && git push origin :$1 && git push origin archive/$1 && git branch -d $1; }; f

Git服务器挫败(Gitosis,Gitolite等)

请原谅令人沮丧的意见,因为我试图多次正确地build立这个设置(可能和很可能是由于我的无知,但也可能是由于缺乏全面和简洁的文件)。 我试图build立一个git服务器,以便我可以在一个小团队的开发人员之间共享代码。 每个开发人员可以连接多个客户端PC。 我以前是从MS来的,所以在开发工具方面我有些被宠坏,但是如果我能得到类似于TFS的东西,那将是非常棒的。 当试图设置gitosis(我明白这是不推荐git社区每https://serverfault.com/questions/225495/ubuntu-server-gitosis-user-naming-convention )或gitolite,似乎是一旦我build立了,我必须非常小心,因为它似乎一切都在牙签上的平衡。 我最近尝试build立一个git服务器,包括将我的公钥(benny.pub)从笔记本电脑移动到服务器,使用该公钥设置所有内容,并拉下configuration以设置回购和权限。 然后,我意识到我想在另一台PC上开发,所以我创build了一个新的键(benny@desktop.pub),并将benny.pub重命名为benny@laptop.pub,这明显地搞砸了。 这是我知道我通过改变名字是愚蠢的。 我的问题在一个冗长的描述之后是这样的:我怎样才能build立一个坚固的自我托pipe的git服务器,让多个开发人员能够在保持安全性的同时从多台机器login? 必须有一个成熟的技术(gitolite描述了可能4-5种不同的方式…也令人沮丧)做到这一点,因为我相信我不是唯一一个试图做同样的事情。 也许git不适合我的团队? 任何帮助是极大的赞赏!