Articles of git

GIT:不能推(奇怪的configuration问题)

我正在重新安装Linux Mint。 尝试从任何存储库中推送时出现以下错误: error: Malformed value for push.default: simple error: Must be one of nothing, matching, tracking or current. fatal: bad config file line 8 in /home/leng/.gitconfig fatal: Could not read from remote repository. 这很奇怪,因为我肯定有一个支持简单推送行为的版本。 git –version的输出是git version 1.8.3.2 。 ~/.gitconfig的内容: [user] name = My Name email = MyEmail@website.com [color] ui = true [push] default […]

直接从GitLab私有存储库打开一个文件

我有一个GitLab服务器上的私人存储库,并使用SSH我可以使用git克隆拉项目。 但是我想直接从服务器(更具体地说,一个Drupal / Drush .make文件)在Linux命令行上运行一个脚本, 我试图使用原始文件运行它: drush make http://server.com/user/project/raw/master/file.make (为了方便非Drupal用户,让我们假设) curl http://server.com/user/project/raw/master/file.make 没有成功。 当然,它返回我的login页面。 可能吗?

在git和svn下同时pipe理源代码 – 这是否合理?

这可能是不寻常的,所以让我来设置一下场景: 我们有一个包含我们项目历史的SVN回购 – 一个基于Linux的embedded式系统。 SVN回购包含Linux内核,U-Boot,busybox等来源以及我们所有的内部应用程序,文件系统等。 我们拥有的Linux内核已经老了,我正在努力移植到正在为我们的平台积极开发的主线上。 我正在做git下的内核工作,并用“The Community”交易补丁。 我可以使事情工作,并采取内核源代码的快照,并将其转储到SVN,但我想保持更新的能力,拥有本地分支机构,并与Gitpipe理补丁。 我可以保留两个内核副本,每个内核由一个SCMpipe理,但是这会有点混乱。 使用gitpipe理的内核源代码也有开发和testing的风险,并忘记将这些更改放入SVN中,导致SVN版本在非内核源不同步的情况下出现故障。 将整个项目迁移到git不是一个选项。 使用git来pipe理内核源代码,并在SVN中join一堆胶水脚本和存储的散列值是可能的,但是对于整个项目来说,从SVN获得统一的历史/差异function会更好。 我正在考虑的是在同一个目录下同时pipe理SVN和git下的内核源代码。 作为一个内核开发者,我主要使用git,当事情看起来不错的时候,做一个SVN提交内部使用。 对于其他内部用户,他们将能够通过一个SVN签出来获得完整的,一致的资源,查看统一的历史logging,并且可以在SVN下对内核资源进行更改。 后来我或另一个使用git的人可以SVN更新这些变化,并提交他们适当的GIT。 一些让git去忽略.svn文件,反之亦然。 另外,我不太清楚如何将一个普通的SVN结帐,并告诉git开始pipe理内核子树,但我确信git有一些模糊的瑞士军刀选项来做到这一点。 所以这是我的想法。 这意味着大多数同事不必担心git,我们可以稍后默默地忽略git和fork。 这里的问题确实是,有没有人做过这样的事情,它是如何工作的,或者你提出了什么替代解决scheme?

在.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 ?