标签: git

Git 和 Mercurial

我想知道:

  • Git 和 Mercurial 有什么区别?
  • 使用它们的优缺点是什么?
  • Windows 对这两种工具的支持有多好?

mercurial git scm

8
推荐指数
2
解决办法
1351
查看次数

本地 SVN 仓库到 git

我需要将本地 SVN 存储库转换为 GIT。我知道如何将远程 SVN 存储库转换为 git,但是,我只有本地存储库;他们不再托管。我将如何将本地 SVN 存储库转换为 git?

我试过的是这样的:

git svn clone -s file://data/svn/repo/ /data/git/repo.git

错误是:

E: 'trunk' is not a complete URL and a separate URL is not specified

linux svn git

8
推荐指数
1
解决办法
7577
查看次数

托管多个存储库(svn、hg、git)

我最近购买了一台专用服务器,并且需要将多个存储库从源代码管理托管服务移动到它。在服务器管理方面没有太多经验,但是我不知道如何有效地组织它。我所寻求的——

  1. svn.host.com、hg.host.com、git.host.com 子域,这些子域将通过 SSH 密钥成为不同存储库的根
  2. 轻松创建新存储库
  3. 使用服务器UNIX用户列表验证,但有每个项目的基础上的权限,也可选只读公众访问一些回购的

不幸的是,我在 Google 上尝试的任何搜索词都会将我引导到商业托管解决方案,而不是指导我如何汇总自己的解决方案。我需要类似精简的托管解决方案,但不需要让用户能够创建自己的存储库。

关于从哪里开始研究的任何建议、教程或脚本解决方案?用于处理该问题的管理界​​面的开源解决方案(或至少对某些人来说是完美的...

hosting svn mercurial git

8
推荐指数
2
解决办法
1272
查看次数

etckeeper、Git checkout 和 /etc 中损坏的文件权限

我想弄清楚为什么在etckeeper提交后,我在重启时遇到了问题(由于这个伟大的事情已经解决了)。

我和 etckeeper 一起玩,git checkout some_commit_sha快速浏览了一下,然后git checkout master.

/etc在这些操作之后,我的文件权限似乎被破坏了。包括所有文件ssh_host_rsa_key passwd-, shadow-rw-r--r--。我不知道 Git 不保存文件权限。

现在我修复了所有这些(我希望我没有错过任何东西)。

获得/etc.

git etckeeper file-permissions

8
推荐指数
1
解决办法
1506
查看次数

Cron 作业检查 Git 存储库中的更改

我们刚刚将服务器配置移至 Git 存储库。因此,不应在任何存储库文件夹中进行任何更改。我在考虑如何设置一个 cron 作业来检查任何未提交的更改。

如何设置 cron 作业来检查 Git 存储库中的更改?

Grepinggit status命令的输出可能只是这样做。Grep 和 cron 工作不是我的强项。以下是一些示例输出git status

将包含 git 存储库(例如/path/gitrepo/)的文件夹与已更改的文件保持一致

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   apache2/sites-enabled/000-default
#
# Untracked files:
#   (use "git add <file>..." to include in what …
Run Code Online (Sandbox Code Playgroud)

monitoring grep git cron

8
推荐指数
2
解决办法
7906
查看次数

etckeeper 推送到 github

我设置了 etckeeper 并添加了文件/etc/etckeeper/commit.d/60github-push,以便将提交推送到 github。

[orschiro@thinkpad etc]$ sudo cat /etc/etckeeper/commit.d/60github-push 
#!/bin/sh 
set -e
if [ "$VCS" = git ] && [ -d .git ]; then   
  cd /etc/   
  git push origin master 
fi
Run Code Online (Sandbox Code Playgroud)

但是,推送到 github 失败,因为 etckeeper 尝试以 root 身份推送。是否应该使用 sudo 不保留我的 git 用户帐户设置,包括我的 ~/.ssh 密钥?

[orschiro@thinkpad etc]$ sudo etckeeper commit "test"
[master de5971c] test
 Author: orschiro <orschiro@thinkpad.(none)>
 3 files changed, 2 insertions(+), 1 deletion(-)
 rename etckeeper/{ => commit.d}/60github-push (100%)
 create mode 100644 test
no such identity: /root/.ssh/id_rsa: No such …
Run Code Online (Sandbox Code Playgroud)

git etckeeper

8
推荐指数
1
解决办法
3242
查看次数

用 git 替换 gitolite3 用户

我正在服务器上安装 gitolite3,使用 ssh 和 http pull/pushing/alltherest。在此过程中,会创建一个用户和组 gitolite3。

当我运行时:

$ ssh gitolite3@server info
Run Code Online (Sandbox Code Playgroud)

我得到了正确的 gitolite3 消息和 RW repo 信息。

问题是,我想要普通用户 git 而不是笨重的 gitolite3,而不会将其全部拆散。其他一些线程提到使用相同的 uid ang gid 创建用户 git,但这并没有给出与上面相同的结果。

当我登录时(使用传统的图形登录屏幕),有我常用的管理员用户,还有 gitolite3 用户名(但我不确定这是 gitolite3 还是我创建的 git 用户别名)。

如何创建 git 用户/替换 gitolite3 用户,以便 ssh git@server 信息与 gitolite3 一起使用?什么决定了用户何时可以使用登录屏幕登录,以及如何关闭它?

linux user-management git gitolite

8
推荐指数
2
解决办法
2626
查看次数

版本控制 Foreman &amp; Puppet

我刚刚第一次设置 Foreman 并且不确定如何将我的所有配置置于版本控制之下。我知道我可以将 Git 用于我安装在我的 Puppet master 上的每个模块,但更喜欢一个更全面的解决方案,它不仅包括模块,还包括与每个主机关联的类以及主机上设置的任何变量。任何建议以及相关的工作流程将不胜感激。如果相关,我确实将 GitLab 设置为现场的中央 Git 服务器,并计划很快设置一个 CI 服务器,例如 Jenkins。

git configuration-management puppet puppetmaster foreman

8
推荐指数
1
解决办法
3373
查看次数

使用 SSH 密钥从 EC2 服务器上的 Bitbucket.org 进行 Git 克隆

我们已经设置了一个 EC2 构建服务器,并希望使用 SSH 密钥来克隆存储库。

采取的步骤:

cd ~/.ssh
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

创建的配置:

host bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/.ssh/bitbucket_rsa
 User git
Run Code Online (Sandbox Code Playgroud)

在位桶上加载公共 ssh 密钥:

ssh-rsa ...key ... ec2_user@ip-censored

什么时候:

git clone https://git@bitbucket.org/user/repo.git
Run Code Online (Sandbox Code Playgroud)

它要求输入密码。我们应该检查或做些什么来查看我们哪里出错了?

ssh git amazon-web-services

8
推荐指数
1
解决办法
7381
查看次数

Amazon Elastic Beanstalk + Git 子模块

我正在使用 Amazon 的 Elastic Beanstalk 通过 Git 部署我的应用程序,并且我的 Git 中有子模块。当然,当我查看子模块数据应该在的目录时,什么都没有,因为子模块尚未初始化。

显然 Elastic Beanstalk 不支持子模块。这样对吗?如果是这样,我如何说服 Git 让我拥有子模块的功能,但在推送主 repo 时仍然上传子模块的所有代码?

我正在使用 node.js 所以我认为安装脚本可能是最好的选择

git amazon-web-services elastic-beanstalk

7
推荐指数
1
解决办法
2182
查看次数