我是 git 作为版本控制系统的新手。我尝试阅读文档,但我不明白此命令中的“master”是什么意思:
git push origin master
Run Code Online (Sandbox Code Playgroud)
有人可以用非常愚蠢的术语来解释吗?
我在不同的提供商处运行 2 个 LAMP Web 服务器以用于灾难恢复目的 - 一个高功率的实时服务器和一个低功率的备份服务器。
目前我每 4 小时将所有数据从实时服务器同步到备份服务器。
这可以正常工作,但是在 rsync 确定哪些文件已更改时会增加系统负载。
由于所有网站都位于 git 存储库中,我想知道 git push 是否是更好的备份技术。
我必须在 git repo 中包含实时上传文件夹;然后备份过程将是:
live$ git add .
live$ git commit -a -m "{data-time} snapshot"
live$ git push backup live_branch
Run Code Online (Sandbox Code Playgroud)
然后在备份服务器上有一个提交后挂钩,以便在每次推送时进行结帐。
每个网站的大小从 50M 到 2GB 不等。我最终会得到大约 50 个单独的 git 存储库。
这是比rsync“更好”的解决方案吗?
谢谢!
---- 一些对比测试的数据 ------
1)52MB文件夹然后添加一个新的500k文件夹(主要是文本文件)
同步
sent 1.47K bytes received 285.91K bytes
total size is 44.03M speedup is 153.22
real 0m0.718s …Run Code Online (Sandbox Code Playgroud) 我有一个通过 ssh 运行的 git 服务器,每个用户在系统上都有一个 unix 帐户。
鉴于两个用户有权访问一个 repo,我如何确定哪个用户执行了哪个提交,因为提交用户名和电子邮件是由 git 客户端提交和控制的。
我担心用户可能会尝试冒充另一个用户,即使他们拥有相同的授权权限。
当我转到Gits 下载部分时,它提到最新版本是 1.8,我可以yum install git在 Fedora 上安装它。我正在运行 CentOS6,因此该命令也适用于我,但是 yum 告诉我:
Setting up Install Process
Package git-1.7.1-2.el6_0.1.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)
我的 yum 指向旧存储库吗?还是我在做一些破旧的事情?
谢谢!
编辑:我知道供应商并不总是更新他们的软件包列表,所以这是否意味着 git 网站上的文档不正确,因为他们告诉我使用 yum 下载它而供应商没有更新他们的软件包列表?
我有一个使用 git 进行版本控制的项目。
我想要做的是在我的(启用 ssh 的)GoDaddy 共享托管包上设置一个存储库,以便我可以通过推送而不是在 FTP 中拖放进行部署。
任何提示将不胜感激。最好是已经做过的人的帐户,但我个人在网上找不到任何帐户。
我想说服我的老板我们应该使用 git 进行版本控制。他说,它绝对必须通过我们的中央 LDAP 服务器对用户进行身份验证。
我查看了各种解决方案(gitweb、gitorious ...),并没有真正找到关于它们是否支持 LDAP 身份验证的明确答案。
我能找到一些信息的唯一解决方案是 Apache+mod_ldap 设置。但这意味着在 LDAP 上进行身份验证的用户不一定与实际的 git 用户相同,对吗?(并不是说这是一个大问题,而是一些会让我烦恼的事情。)
那么,通过 LDAP 对 git 用户进行身份验证的最佳方法是什么?
我在 SunOS 服务器上托管了一个 git 存储库,我通过 ssh 远程使用它
git clone ssh://myUser@mydomain.com/path/to/git
Run Code Online (Sandbox Code Playgroud)
现在我需要添加更多用户才能访问该存储库,但不确定如何。
我已向ssh添加了一个testUser,但我似乎无法将该用户权限限制为仅使用 git。
testUser能够通过 ssh 访问并浏览整个服务器。
如何创建只能远程访问 git、克隆/拉/推等的用户...
谢谢
我正在尝试在Ubuntu操作系统中通过 LAN设置一个GIT 存储库。
我能够设置一个 GIT 存储库,但不确定如何将存储库公开给 LAN 中的其他用户。
由于它需要一个服务器,我安装了OpenSSH-Server。但不知道如何配置它。
请指出我要阅读的正确资源。
谢谢。
我们使用 git 来跟踪/etc/我们服务器上的变化。
管理员在更改 /etc/ 中的文件时以 root 身份工作,因此他们的提交具有作者
root <root@machinename>
Run Code Online (Sandbox Code Playgroud)
这不是很令人满意,因为您看不到哪个管理员实际进行了更改。
我们如何才能在 git 日志中获得真正的管理员名称?我不认为保留存储库的本地克隆是可行的,因为我们经常进行交互更改,直到某些事情起作用为止,并且更改-提交-推送-查看错误-重复循环在这里无济于事。
我正在尝试在全新干净的服务器上设置 gitlab (6.5.1)。似乎一切正常,但 git 无法推送到任何项目。按照来自新创建的项目页面的命令并通过 ssh 推送到远程给出:
$ git push -u origin master
fatal: Could not read from remote repository.
Please make sure you have the correct access
rights and the repository exists.
Run Code Online (Sandbox Code Playgroud)
这似乎是一个相当普遍的问题。不幸的是,它似乎有许多潜在的原因,但似乎没有一个是匹配的。从 旧版本的问题 3424和其他各种在线资源中,我看到并检查了以下建议:
剩余的 ssh 密钥
这是一个干净的设置,没有剩菜。我的密钥已正确添加到授权密钥文件中,并且是唯一列出的密钥。
使用调试日志运行 ssh 会显示与 Ruby 环境变量相关的错误。
我的很干净。SSH 调试显示连接成功。认证握手一切正常,那么输出到此结束:
debug1: Sending command: git-receive-pack 'username/reponame.git'
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: …Run Code Online (Sandbox Code Playgroud)