Tag: git新

使用Git保留文件权限

我想按照我的Web服务器的版本控制中所描述的版本控制我的Web服务器 ,通过在/var/www directory创build一个git repo。 我希望能够将我们的开发服务器上的网页内容推送到github上,然后把它放到我们的生产服务器上,然后在游泳池中度过余下的时间。 显然我的计划中的一个扭曲是,Git不会尊重文件许可(我还没有尝试过,现在只是阅读它。)我猜这是有道理的,因为不同的盒子可能有不同的用户/组设置。 但是,如果我想强制传播权限,知道我的服务器configuration相同,我有任何选项? 还是有更简单的方法来处理我想要做的?

列出并删除没有分支的Git提交(dangling?)

我有一个Git仓库,有很多提交没有特定的分支,我可以git show他们,但是当我尝试列出包含他们的分支,它没有报告什么。 我认为这是悬而未决的提交/树问题(由于-D分支),所以我修剪了回购,但是在那之后我仍然看到相同的行为: $ git fetch origin $ git fsck –unreachable $ git fsck 没有输出,没有什么悬挂(对吧?)。 但提交存在 $ git show 793db7f272ba4bbdd1e32f14410a52a412667042 commit 793db7f272ba4bbdd1e32f14410a52a412667042 Author: … 并且它不能通过任何分支到达 $ git branch –contains 793db7f272ba4bbdd1e32f14410a52a412667042 没有输出。 那个提交的状态到底是什么? 如何列出所有类似状态的提交? 我怎样才能删除这样的提交?

git-upload-pack:在克隆远程Git仓库时找不到命令

我一直在使用git来保持项目的两个副本同步,一个是我的本地框,另一个是testing服务器。 这是使用sshlogin到远程开发服务器时发生的问题; git clone me@me.mydevbox.com:/home/chris/myproject Initialized empty Git repository in /tmp/myproject/.git/ Password: bash: git-upload-pack: command not found fatal: The remote end hung up unexpectedly fetch-pack from 'me@me.mydevbox.com:/home/chris/myproject' failed. (文件名已经改变,以保护有罪…!) 这两个盒子都运行Solaris 10 AMD。 我已经做了一些挖掘,如果我添加–upload-pack=$(which git-upload-pack)该命令的作品,(并certificate$PATH包含path'git上传包'按照RTFM解决scheme)但这真的很烦人,再加上“混帐推”不起作用,因为我不认为有一个–unpack=选项。 顺便说一下,所有的git命令都可以在我的本地机器上正常工作,它与安装在/usr/local/bin NFS挂载点上的软件版本(1.5.4.2)相同。 任何人都可以帮忙吗?

Git / Mercurial / Bazaar的受欢迎程度与推荐

通过这个网站上的这三个分布式版本控制系统的问题数量,似乎也是Git 更受欢迎,或者 比较困难(因此需要更多的问题),或者 有更多的function(因此需要更多的问题)。 或者最有可能的是三者的结合。 (比方说,这个网站的受欢迎程度相当于普遍受欢迎程度。)这里是数字: | 2009年6月| 七月2010 | 七月2011 | 七月2012 | 七月2013 | 七月2014 | 七月2015 | 七月2016 | 2017年6月 ————————————————– ————————————————– ———– [svn] | 2353 | 5323 | 9028 | 12687 | 15587 | 18846 | 21209 | 23037 | 24692 [git] | 726 | 3725 | 9225 | 17523 | […]

git.exe在哪里?

我有PyCharm,我四处寻找试图findgit.exe来设置它与我的回购。 什么是git.exe的path?

如何将某些提交移动到git中的另一个分支?

情况: 主人在X; quickfix1在X + 2提交 然后,我开始在quickfix2上工作,但意外地把quickfix1作为源分支来复制,而不是主人。 现在quickfix2在X + 2提交+2相关的提交。 现在我想要有一个quickfix2的分支,但没有属于quickfix1的两个提交。 我试图从quickfix2中的某个版本创build一个补丁,但补丁不保存提交历史logging。 有没有办法来保存我的提交历史,但有一个分支没有在quickfix1的变化?

如何git-svn克隆Subversion版本库的最后n个版本?

问题 你如何从一个Subversion版本库创build一个git-svn的浅拷贝,也就是说,你如何只提取最后三个版本? 如果使用选项–depth , git clone命令可以从Git存储库获取最后n个版本,也就是说,您可以获取存储库的浅表副本。 例: git clone –depth 3 git://some/repo myshallowcopyrepo 有没有类似的选项git-svn? 到目前为止,我的发现 到目前为止,我只find了-rN选项,其中N是要修改的版本。 例: git svn clone -rN svn://some/repo 根据文档可以使用-r $ REVNUMBER:HEAD。 我尝试了以下获得最后3个返回错误消息的修订。 $ git svn clone –prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo . revision argument: HEAD~3:HEAD not understood by git-svn 所以我用第三个534的最后一个修订版的实际数字replace了HEAD〜3。这个工作,但是这需要我先计算出第三个修订版本,但是最后一个修订版本。 $ git svn clone –prefix=svn/ -s -r534:HEAD http://some/svn/repo . 文档 混帐克隆 GIT-SVN

Git SSHauthentication

我的服务器上有Debian,Fisheye和Git。 我的git仓库由Fisheyepipe理。 在鱼眼部分没有authentication。 所有的authentication程序都由gitpipe理。 我想使用SSH身份validation,所以我不需要提供用户名和密码,因为我将更改推送到服务器。 我知道如何创build一个rsa密钥,但我在哪里复制我的公钥在服务器?

Git浅层子模块

是否有可能有浅的子模块? 我有一个超级项目,有几个子模块,每个子模块都有很长的历史,所以它不必要的拖累了所有的历史。 我发现的是这个未答复的线程 。 我应该只是破解git-submodule来实现这个?

Git:什么是跟踪分支?

有人可以解释一个“跟踪分支”,因为它适用于混帐? 这里是来自git-scm.com的定义: Git中的“跟踪分支”是连接到远程分支的本地分支。 当您按下并拉动该分支时,它会自动推送到与其连接的远程分支。 如果你总是从同一个上游分支进入新的分支,并且你不想明确地使用“git pull”,那么使用它。 不幸的是,作为git和来自SVN的新手,这个定义对我来说毫无意义。 我正在阅读“ The Pragmatic Guide to Git ”(顺便提一下,这本书很棒),而且他们似乎build议跟踪分支是一件好事,在创build第一个远程(在本例中为起源)之后,您应该设置你的主分支是一个跟踪分支,但不幸的是,它不能说明为什么跟踪分支是一件好事,或者将你的主分支设置为你的原始仓库的一个跟踪分支 。 有人请赐教(英文)吗?