Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

5
如何在GitLab中创建发布?
我创建了一个私有存储库,然后将其更改为公共存储库。但是,我找不到任何释放方式。是否可以在GitLab中创建发行版?如果是这样,他们如何做?
77 git  gitlab 



4
为所有子文件夹设置git config值
我知道可以设置覆盖用户级配置的每个仓库配置(即/path/to/my/repo/.gitconfigoverrides ~/.gitconfig)。是否可以设置git configs来覆盖给定文件夹的所有子文件夹的用户级设置?即我有 |--topLevelFolder1 |--\ | ---.gitconfig_override |--\ | ---childFolder1 | \---[...] |--\ | ---childFolder2 | \---[...] 我希望将中定义的设置.gitconfig_override应用于childFolder1和中childFolder2。 我这样做的动机如下:我有一台工作用的笔记本电脑,在业余时间还用于个人项目。我所有的工作代码都嵌套在一个文件夹中。当我推动工作git repos时,我需要使用工作角色-工作登录名(而不是姓名)和工作电子邮件。当我推送到自己的个人(github)存储库时,我想使用我的真实姓名和个人电子邮件。 我想到的其他可能的解决方案(和问题): 为“工作”和“娱乐”创建单独的用户,适当地设置他们的用户级别设置,并在切换上下文时以适当的用户身份登录(麻烦,再加上我很容易忘记切换) 创建一个脚本,在“ workFolder”中搜索git仓库,并添加/更新其.gitconfig文件以保存适当的详细信息(如果我创建了一个仓库,而在推送之前忘记运行该脚本,则我将以错误的身份推送) 对git进行“ hack”操作,以便每次创建一个repo时,它都会检查文件路径,并在适当的情况下更新.gitconfig文件(复杂,混乱且几乎肯定是错误的方法-而且,我不会首先提示如何去做!) 我检查了这个问题,该问题似乎只包含单个存储库而不是多个存储库的解决方案。希望有人会错过这个问题!
77 git 

6
git:您的分支和“来源/主”已经分开了-如何丢弃本地提交?
我在git中有以下消息: # Your branch and 'origin/master' have diverged, # and have 3 and 8 different commits each, respectively. # (use "git pull" to merge the remote branch into yours) 我想丢掉3个本地提交,并在原点/主机上拉8个远程提交。 (合并将太困难了,我宁愿在master更新后再次进行3次本地提交。) 我怎样才能做到这一点?
77 git 

2
git-将另一个分支上的提交应用于工作副本
所以我的提交有一个有用的代码更改,但是在另一个分支上。 我想将另一个分支中的提交应用于当前分支上的工作副本(而不是另一个提交)。 这可能吗?我该怎么做? 以为我愿意与他人分享这与我之前的问题有关,但特定于工作副本: git cherry选择一个提交到另一个分支

19
如何使用命令行工具进行DEFLATE提取git对象?
我正在寻找DEFLATE算法的命令行包装。 我有一个使用DEFLATE压缩的文件(git blob),我想将其解压缩。gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式的选项。 理想情况下,我正在寻找可以做到这一点的标准Unix / Linux工具。 编辑:这是我尝试使用gzip解决我的问题时得到的输出: $ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzip gzip: stdin: not in gzip format
77 git  blob  deflate 

2
如何获取网络上2个文件夹内的所有文件之间的差异?
所以我想将此文件夹 http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/与此 进行比较http://svn.boost.org/svn/boost/sandbox/boost/extension/。我想得到一个差异文件。这些文件夹在svn的控制下,但我更喜欢git风格的diff文件(如此处所示),git diff但似乎不适用于Web文件夹。那么如何在Linux上用一个命令来做同样的事情呢? 更新: 所以我们有了一个很好的答案。但这很奇怪-在我看来,这表明所有文件(相同文件)的全部内容都替换为非常相同的内容(尽管我确定只有3-4条代码行被完全更改)... 更新2: 要实现我真正需要的功能(在Linux上具有git样式的仅具有真正更改的行的dif文件): $ svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2 --native-eol CRLF $ svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos --native-eol CRLF $ git diff repos repos2 > fileWithReadableDiff.diff
77 linux  svn  git  file  diff 

7
如何从Git中的另一台计算机的存储库中提取?
例如,我已经在两台计算机上克隆了原始存储库。然后,我继续进行一些更改,然后提交到计算机A的本地存储库。现在如何将这些更改拉到计算机B?计算机A和B都连接到网络。 我正在寻找的内容相当于有人手动创建补丁并将其发送给我,我可以将其应用于我的工作副本/本地存储库。
77 git  git-pull 


8
从git存储库中删除文件(历史记录)
(已解决,请参阅问题正文的底部。) 很长时间以来,我一直在寻找以下内容: http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/ 和 http://progit.org/book/ch9-7.html 几乎相同的方法,但是它们都将对象保留在打包文件中...卡住了。 我试过的 git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_name' rm -Rf .git/refs/original rm -Rf .git/logs/ git gc 包中仍然有文件,这就是我所知道的: git verify-pack -v .git/objects/pack/pack-3f8c0...bb.idx | sort -k 3 -n | tail -3 还有这个: git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch file_name" HEAD rm -rf .git/refs/original/ …

3
git log仅显示一个提交ID
我需要一些帮助。可能只显示一个提交ID?由于git log -3显示1-3的日志,所以我只想显示3。什么可能的命令将与其匹配? 我使用命令 git log -3 --pretty=format:"%h" 结果是 ffbef87 cf0e073 1c76c5d 我只想显示1c76c5d。


3
如何从现有的库创建一个新的git库
我有一个远程git存储库,它确实替代了另一个旧SCM中的所有内容。这些年来,许多项目和产品已添加到资源库中。 此存储库中有一个分支,与我感兴趣的产品相对应。我只想从该分支中​​创建一个全新的git存储库,而不必担心丢失历史记录。 git remote是否添加解决方案?我希望这两个存储库都在同一服务器上。 有什么想法吗?
77 git 

3
如何将多个(已经推送)的Git提交还原到已发布的存储库中?
git的新手,已经搞砸了。 我已经提交了一些更改并将其推送到远程开发机器。我需要恢复较旧的版本,但到目前为止,要保持“不好的进展”,以便继续在单独的分支上工作。 我正在考虑这样做: 创建一个名为“ tested-thing”的本地分支 将本地存储库恢复到其工作状态(希望有意义的提交会有所帮助); 推送到远程 完成对被测物的测试 将“经过测试的东西”合并到开发人员中 推送到远程 在第3步和第5步之间,其他开发人员可能会提交并推送,恐怕这可能会导致“合并悲剧”-无论如何,这是否是正确的选择? 更新: 这里的主要问题在于2) 在这里,有关主题:“将工作分解为主题分支” http://learn.github.com/p/undoing.html 他们建议: $ git分支测试 $ git reset --hard a6b4c974 这样,其他开发人员仍然可以: $ git commit (在dev分支上) 我可以结帐以进行测试和解决,直到合并时间为止。 尽管您有所有选择,但这还是一个不错的选择。但是,没有说明是否可以在我们按下后完成? 请注意以下几点:由于我做了这些更改并且弄乱了所有内容,因此到目前为止,还没有其他人在存储库上工作过。因此,如果我还原工作目录,没有人会注意到。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.