Articles of 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不适合我的团队? 任何帮助是极大的赞赏!

获取GitHub文件(和更新)到Ubuntu Web服务器上

我正在build立一个多用户,多服务器的环境。 所有的开发人员将使用Git,并从GitHub等克隆不同的回购(我控制一个帐户)。 现在,我如何从GitHub获取文件到服务器(约5个)? 首先,我想到了一种自动的方式来将更新从GutHub推送到服务器,但是现在我想我可能更喜欢在每个服务器的命令行上运行某些东西,从GitHub中“拉出”更新。 这个选项似乎不是完成的方式。 我可以不只是安装Git的Linux服务器(我用于服务的networking文件),然后使用Git拉拉他们(即就像任何用于开发计算机)? 大多数人如何获得GitHub文件到他们的Web服务器?

防止其他g​​it作者

我已经build立了自己的私人git服务器,并有一个由5名成员组成的团队。 我有他们的用户帐户所有设置,但我如何防止提交到远程由随机奇怪的帐户完成。 因为我的一些团队也使用github,不希望他们的用户名出现在日志中,而是他们的用户名,我分配他们。

Git安装脚本如何inputshell命令

这是更多的git相关的问题比openshift。 当我使用git将文件推送到git服务器时,我发现我的perl index.cgi文件的文件权限在openshift repo中被更改为700。 因此,每次我推送时,我都必须使用sshlogin到服务器,并在$OPENSHIFT_REPO_DIR执行chmod a+x index.cgi将其更改为755。 我读的git文件中可以添加一个钩子,我尝试使用以下命令更新hooks目录中的post update脚本 exec chmod a+x $OPENSHIFT_DATA_DIR/index.cgi 但是,这似乎并没有奏效。 你能告诉我我做错了什么吗? 我如何确保每次推送文件时都不需要更改chmod ? 如何通过git安装脚本执行shell命令(我不知道什么是安装脚本,我认为这意味着挂钩) 基于下面的build议,我想我需要将钩子添加到服务器,所以我试了一下,但我得到了一个错误 $ git add .git/hooks/post-update error: Invalid path '.git/hooks/post-update' error: unable to add .git/hooks/post-update to index 所以我尝试了一些使用动作钩子的选项,在当地的.openshift / action_hooks目录下放置一个“start”。 有一个试图使用的命令是exec chmod a+x register.cgi ,甚至是chmod a+x register.cgi 没太多的运气。 任何input。 我会把这个作为一个单独的q反对行动钩子。

从Git中删除敏感数据。 “致命的:模棱两可的论点”rm“

我试图运行这个命令: git filter-branch –force –index-filter 'git rm –cached –ignore-unmatch filename.js' –prune-empty –tag-name-filter cat — –all 但我不断收到这个错误: fatal: ambiguous argument 'rm': unknown revision or path not in the working tree . Use '–' to separate paths from revisions, like this: 'git <command> [<revision>…] — [<file>…]'