Articles of git

git checkout –patch,但是失败,无法在@INC中findGit.pm

当我运行git checkout –patch origin / master file.java时,我看到: Can't locate Git.pm in @INC (you may need to install the Git module) (@INC contains: /usr/share/perl/5.14.2 /usr/local/perl/lib/site_perl/5.20.0/x86_64-linux /usr/local/perl/lib/site_perl/5.20.0 /usr/local/perl/lib/5.20.0/x86_64-linux /usr/local/perl/lib/5.20.0 .) at /usr/lib/git-core/git-add–interactive line 7. BEGIN failed–compilation aborted at /usr/lib/git-core/git-add–interactive line 7. 我在Ubuntu 12.04.4 LTS上运行它。 git的版本是1.7.9.5。 perl是为x86_64-linux构build的perl5,版本20,subversion 0(v5.20.0)。

Git推送到cPanel账户 – 推送没有更新修改后的文件

下面的解决scheme – 如何使用git推送到cpanel服务器 我终于find了在我的localhost(Windows 8.1的WAMP设置)和我的Linux服务器(cPanel 11.46.2的CentOS 6.6 x64)之间设置Git的地方。 在本地我创build了一个裸副本: git clone –bare my_project my_project.git 注:my_project是一个示例名称,而不是真实的名字,从这里的文档: http : //git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a -服务器 我将my_project.git文件夹复制到我的服务器的根目录/ home / myuser / public_html / 所以现在在根目录我有: cgi-bin目录 my_project.git 这是我不确定的一个领域。 我是否必须在public_html目录中的服务器上执行init(使用putty)? 我读了一些关于初始化的东西? 我只是想把我已经在Git控制下的网站(从我的PC)推送到服务器。 当我对1个文件进行更改时,将更改推送到服务器,以便在推送过程中进行更新。 该网站已完成,并准备好生活。 我已经手动来回移动,在服务器上进行实时testing。 我最后一步是正确地获得Git的设置,所以我可以把它们推送到服务器而不需要FTP。 我添加了一个远程起源: git remote add origin ssh://myuser@thedomain.com/home/myuser/public_html/my_project.git 我试图推动它,并获得“权限被拒绝(publickey)”。 我的电脑上已经有了一个id_rsa和id_rsa.pub密钥,所以我将它们复制并重命名为id_rsa.myname id_rsa.myname.pub(myname是我的名字)。 然后,我通过FTP(FTP作为cPanel用户,它是您转储到public_html之上的目录)将它们复制到.ssh文件夹中,与/home/myuser/.ssh/目录相同。 一旦他们在那里,我把他们添加到“authorized_keys”使用Puttylogin为cPanel用户(我的私人ppk)做: cd .ssh cat id_rsa.myname >> ~/.ssh/authorized_keys cat […]

如何让Git在Linux上将CRLF文件转换为LF?

我试图做一些非常简单的事情:检查一个具有CRLF结尾(而不是.gitattributes)文件的回购,并结束本机(LF)行尾。 我甚至不想回头。 我读过Github的build议 ,还有Tim Clem的文章 ,但大多数是针对Windows开发人员的。 我试过这个: $ git config –global core.autocrlf=input $ git clone https://github.com/DennisSchiefer/Project-OSRM-Web.git 但是没有 – 我关心的文件OSRM.Config.js仍然有CRLF结尾。 尝试core.autocrlf=true没有帮助。 即使添加和提交.gitattributes文件(然后git rm –cached -r . && git reset –hard )没有帮助。 我找不到任何组合,实际上会在这个文件上留下LF行尾。

安装git或更新没有apt-get或yum的git

我有一些不允许我使用yum来安装软件包的Linux机器。 相反,我需要下载zip或tar,然后使用软件包pipe理器将这些项目安装到我的Linux机器上。 当你转到git-scm页面时,他们提供的安装git的唯一方法是使用命令行中的yum,apt-get等。 为什么不只是一个zip文件? 我在哪里可以find要安装的软件包? 有没有其他人有这个相同的问题?

无法从jenkins访问git repo

我已经在Linux机器上configuration了Jenkins,而我的git repo在另一台Linux服务器上。 但是,当我试图给jenkins回购的URL时,我得到以下错误。 Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h ssh://user@ip/~/export1 HEAD" returned status code 128: stdout: stderr: Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository […]

生产服务器上的NodeJS – 权限

我希望node和npm可用于系统上的任何用户。 在我们的团队中,当有人从git更新代码时,他们运行: sudo -u www-data git pull 所以无论是什么项目,我们总是通过www-data用户。 现在我们有了新的Node项目,需要做同样的事情。 在我们的生产服务器上,我们将无法依靠一个用户处理关于节点的所有事情 – 如果他明天离开,该怎么办? 所以我们不使用NVM,而是像这里描述的那样安装Node作为根 它很好,所有的用户都可以看到node和npm可执行文件。 当我们真正尝试使用它们时,问题就开始了。 你想要做的是: cd /var/www/node_project sudo -u www-data git pull sudo -u www-data npm install 这在最后一个命令上失败了,因为npm试图在我的主目录中写入lock文件。 所以: /home/user/.npm而不是全局或/var/www/.npm这将是www数据用户的主目录。 类似的,安装后 sudo npm install -g typings 然后运行sudo -u www-data typings install你会得到一个错误,因为它试图写/home/user/.config/configstore/insight-typings.json 有人能详细说明如何在服务器上正确安装节点吗? 如果我运行sudo -u www-data如何让npm ins仍然进入我的home文件夹?

应该.gitignore也被添加并致力于混帐?

.gitignore用于忽略不希望被提交git的文件。 它位于项目的根目录中。 所以这个文件也应该被添加和承诺为其他文件或?

GIT:设置应用程序的环境variables

在我的基于GIT的项目中,我需要设置构build脚本和许多其他ant目标所需的几个环境variables。 现在我有一个shell脚本会导出variables,但是每次用户打开一个新的bash窗口时,他都需要通过执行shell脚本来重复这些步骤来设置环境variables。 这些variables中的大部分是用户机器/ env相关的,这些variables在被导出之前通过shell进行评估。 如果有办法让它更有活力。 我知道GIT提供了钩子,一种可能性是我可以在用户签出分支时使用hook来调用shell。 但是,GIT仍然保持当前工作分支,如果用户进入新的bash窗口,他将继续处于先前select的分支,他可能不会调用git checkout分支,并最终不会调用envvariablesshell。 那么处理这个最好的是什么?

试图编译git,但在linux中找不到libcurl

我想用http / https支持编译git。 我有 $ ls /usr/include/curl/ curlbuild.h curl.h curlrules.h curlver.h easy.h mprintf.h multi.h stdcheaders.h typecheck-gcc.h $ ls /usr/lib/libcurl.* /usr/lib/libcurl.a /usr/lib/libcurl.la /usr/lib/libcurl.so.3 /usr/lib/libcurl.so.3.0.0 但是当我用./configure –with-curl运行时,它仍然会注意到 checking for curl_global_init in -lcurl… no 如何解决这个问题? PS:我的环境不能使用yum install curl-devel ,我猜'curl-devel'只是提供了C头文件和静态库?

如何将发布档案转换成git回购

我有一个发布档案列表: MyProject-0.9.zip MyProject-1.0.zip MyProject-1.3.tar.gz MyProject-2.0.tar.gz 每个文件夹都包含一个与档案文件名相同的文件夹(没有文件扩展名),其中包含源文件和生成文件等,如下所示: MyProject-0.9.zip – MyProject-0.9/ – MyProject-0.9/src/ – MyProject-0.9/src/mySrc.c – MyProject-0.9/Makefile – MyProject-0.9/LICENSE 我想将它们转换成git仓库,每个仓库一次提交。