Articles of git

在.gitconfig中隐藏GitHub令牌

我想将所有的点文件存储在GitHub上,包括.gitconfig,它要求我在GitHub中隐藏GitHub标记。 要做到这一点,我有一个“.gitconfig隐藏令牌”文件,这是我打算编辑的文件,并放在git隐藏令牌: … [github] user = giuliop token = –hidden– … 而且,如果我修改“.gitconfig-hidden-token”文件来创build“.gitconfig”文件,则需要启动一个shell脚本: cp .gitconfig .gitconfig.backup sed 's/–hidden–/123456789/' .gitconfig-hidden-token > .gitconfig 缺点是每次修改文件时都需要手动启动脚本。 有没有更好的,完全自动的方式来做到这一点?

如何解决执行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