Articles of git

在一个bash脚本中,git不能识别它自己的目录?

所以我在Atlassian-Stash中写了一个bash脚本,用于post-receive事件。 在这个脚本中,提交完成后,它会创build一个codecollaborator代码审查。 要创build一个代码审查,它需要提交标题,提交用户和git SHA的任何变化,并上传到代码审查的变化。 为了得到这些信息,我把目录克隆到–depth = 1(即使没有–depth = 1),并使用git log(options)。 我看到的问题是,如果我手动运行脚本,它工作得很好。 但是,如果在提交之后运行,在克隆目录并指出它不是git目录之后会出错。 如果我在脚本退出后进入目录,我可以运行git log(和其他git命令)。 我试图解决的事情是1.权限问题(以root身份运行),所以我没有看到任何权限问题。 2.用bash -xv进行故障排除,直到这一切都看起来不错。 我还把它的状态检查与$? 4.我尝试将git-backup移动到git-backup上,等待3秒钟,然后将其移回,仍是同样的问题。 5.我运行ls -ltra以确保它具有所有文件和.git目录。 现在,我没有select。 有没有人遇到过这种问题? 任何人都知道我可能会做错什么或缺less什么东西? 我试图尽可能描述,如果问题没有意义或需要示例脚本,请让我知道。 在下面添加脚本及其错误输出。 #!/bin/bash -xv CCollabExe='/usr/local/bin/ccollab' CCollabUrl='–url http://***:8080' CCollabUser='–user ******' CCollabPassword='–password ******' CCollabConnection="${CCollabExe} ${CCollabUrl} ${CCollabUser} ${CCollabPassword}" CCollabStuff='/home/stash/repositories/tmp' CloneDir="${CCollabStuff}/ClonnedDir" StashUser='******' StashPass='******' RepoURLlinkGit="http://${StashUser}:${StashPass}@******:7990/scm/t/test1.git" unset SSH_ASKPASS # Test function to check if a varibale is […]

在GitHub上增加了BitBucket回购

我刚刚在Ubuntu上安装了git,现在我想在BitBucket中处理我的回购。 我有点困惑如何做到这一点。 我不能做到以下几点: git remote add BitBucketRepo git@bitbucket.org:dir/file.git 由于它返回以下错误: fatal: Not a git repository (or any of the parent directories): .git 这显然是指向一个git回购,为什么这是骗我? 另外,值得一提的是我使用SSH,并且成功地将我的GitHub帐户与我的电脑配对。

使用elasticbeanstalkconfiguration文件更改文件权限

我有一个通过AWS Elastic Beanstalk和Git启动的应用程序。 我最近了解了他们的configuration文件和一些你可以用它们执行的操作。 我有一些需要具有特定权限的文件。 当我做一个git aws.push的权限被改变。 其中一个文件被调用,说foo.inc.php它的所有者:组是webapp:webapp它的默认权限是666 。 我想要的权限是644 。 这是我在我的elb.config文件中: "container_commands":{ "05-setperms":{ "command": "chmod 664 /var/app/current/baz/foo.inc.php" }, "06-setperms":{ "command": "find /var/app/current/baz -name foo.inc.php -exec sudo chmod 644 {} \;" }, "07-setperms":{ "command": "find /var/app/current/baz -name foo.inc.php -exec chmod 644 {} \;" }, }` (我遗漏了正在工作的命令(启动cron作业等)) 这三个命令是非常相似的,但他们都没有工作。 在推送和环境更新之后,文件返回到666 。 我能做些什么不同? 我有其他的应用程序可以受益于自动权限设置,所以我真的很想知道什么是错的,以及如何解决它。 我在Linux环境中。 我看着这个问题,并借用了一些代码。 稀疏的AWS文档在这里 谢谢。

从一台linux机器上复制ssh密钥(用于GIT)最简单的方法

在开发环境中,我有一个用于GIT访问的ssh密钥。 现在我正在改变我的开发环境。 所以复制ssh密钥是安全的还是我应该生成一个?

git ssh请求gitlab的密码

我最近在我的Ubuntu上安装了专用的Gitlab服务器。 Webapp工作正常,在安装过程中没有问题(在生产环境之前在VM上testing) 我从我的帐户上的web应用程序中提取了我的ssh rsa私钥,并创build了一个项目,从另一个存储库复制。 从我的桌面环境,我试图用SSH SSH混帐。 首先login,我不得不接受SSH指纹,然后,直到现在服务器不断要求我login作为git用户,它没有密码。 D:/drive/project> git pull git@0.0.0.0:me/project.git git@0.0.0.0's password: Connection closed by 0.0.0.0 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. D:\skydrive\artmoser>git pull git@0.0.0.0's password: [tried to type something] Permission denied, please try again. git@0.0.0.0's password: Permission denied, please […]

无法在nodejs中执行git命令

我可以在我的VPS上成功执行git pull命令行,但是当我在Nodejs中用execFile执行一个包含“git pull”的bash文件时,它给了我一个错误: Command failed: Host key verification failed. 我怎么解决这个问题? 更新:我得到的整个错误消息是: { [Error: Command failed: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ] killed: false, code: 1, signal: null } 似乎这与提供的dylants问题不是同一个问题。 bash文件脚本是这样的,我用它来自动部署我的nodejs应用程序: git pull && pm2 reload www […]

Git连接到Active Directory

目的: 在Oracle Linux上安装Git存储库6.用户使用AD凭证从Windows,Mac和Linux连接。 我想限制AD组的访问权限。 我一直在寻找一种方法来设置。 我已经看到了几个允许对存储库进行细粒度访问控制的选项,但是我还没有发现任何可以使用AD组来pipe理访问的选项。 所以问题是:这甚至可能吗? 有人能指导我解释过程的文档吗?

如何接受“你的意思是? terminal/ gitbuild议

这是一个简单的问题。 有时在terminal上,当你犯了一个小错误时,控制台会问“你的意思是…? – 有什么方法可以快速接受build议吗? 例如: $ git add . -all error: did you mean `–all` (with two dashes ?) 有没有重复最后一行的命令,但有两个破折号? 如果你忘记写sudo ,你可以做sudo !! 它会解决你的问题。 我想知道是否有类似的error: did you mean

ls输出特定文件的颜色?

是否可以为特定文件分配ls命令的输出颜色? 我问的原因是,对于git仓库,我希望我跟踪的文件有不同的颜色从未跟踪的。 特别是,我想要输出“git ls-files”,并给这些文件一个特定的颜色(或使名称为粗体或其他)。

当在bash中的命令之间使用和号(&)时,redirectstdout和stderr

我正在写一个bash脚本,以从origin.Git拉主控分支在每个应用程序模块中初始化。 我的目录结构: .—–bash_script |—-app1(git init) |…various modules |…error.txt |…output.txt |—-app2(git init) |…various modules |…error.txt |…output.txt 在bash_script中:$目录包含(app1或app2 …它在一个循环中被调用) cd "${directory}" && git checkout master && git pull origin master >> output.txt 2>>error.txt cd .. 上面两行是为每个应用程序调用的。 这是我迄今为止所做的 问题: 我只得到stdout/stderr只为我的最后一个命令,即从原点拉,而不是从结帐 。 是否有可能获得整个命令的输出,而不必在每个&&前写入文件名? 那么怎么样 error.txt / output.txt文件是在app目录内部生成的。 我怎样才能生成他们在bash_script目录,即一个层面上。 当git pull origin master被执行时 From http://gitProjectUrl branch master -> FETCH_HEAD 上面的行在error.txt中redirect。 […]