Tag: git新

Git:从前一个提交中检出一个文件,并将其修改为HEAD

我最近犯了一个文件给我的分支的HEAD,它有错误。 我需要做以下的事情: 从HEAD之前的一个提交中获取该文件 将该文件提交回HEAD 什么是最好的方式去做?

将git更改为共享networking驱动器

一个由四人组成的团队如何使用Git(特别是Github for Windows )将本地更改推送到共享networking驱动器? 现在(无Git),我们必须将文件从networking驱动器复制到本地计算机,编辑这些文件,然后将它们重新上传到共享networking驱动器。 这是一个艰苦的过程,可能会导致很多错误,但似乎Git可以帮助我们。 我们可以简单地在共享驱动器上安装Git,然后从那里去?

如何在所有克隆/机器上禁用Git行尾(CRLF到LF)?

正如人们可以从 其他 职位上收集的一样,Git的行尾标准化有其优点和缺点。 我有一个特定于Windows的项目,我认为最好的做法是完全禁用行结束标准化。 也就是说,我想保留所有换行符(大多数是CRLF ),而不是让git将它们标准化为LF ,并且只在后台执行,我希望这种改变影响到所有机器上所有存储库的克隆。 问题是最有效的方法。 大多数关于Git行结束标准化的讨论都是以core.autocrlf来说的,我可以通过设置core.autocrlf=false来实现我的目标。 但是,这是一个git-config设置,我相信必须在每台机器上分别设置。 如果这是真的,那似乎很容易出错,特别是因为msysgit安装程序引导一个进入设置core.autocrlf=true 。

Git分支在哪里开始,它的长度是多less?

每隔一段时间,我会问,在git上启动某个分支是什么时候,或者某个分支上是否创build了某个提交。 分支的终点非常明确:分支标签所在的位置。 但是 – 它从哪里开始? 微不足道的答案是:在我们创build分支的那个提交上。 但是据我所知,这些信息就是为什么我问这个问题,在第一次提交之后就失败了。 只要我们知道我们分手的地方,我们可以画出图表来说明: A – B – C – – – – J [master] \ D – E – F – G [branch-A] \ H – – I [branch-B] 我已经在提交E创build分支B,所以这是“开始”。 我知道,因为我做到了。 但是其他人能否以同样的方式来认识它? 我们可以像这样绘制相同的图表: A – B – C – – – – J [master] \ \ F – G [branch-A] […]

git使用与远程标签相同的名称推送本地分支

我试图把一个新的本地分支product-0.2远程已经有一个同名的标签(但分支本身不存在) git push -v –tags –set-upstream origin product-0.2:product-0.2 Pushing to https://****@github.com/mycompany/product.git error: src refspec product-0.2 matches more than one. error: failed to push some refs to 'https://****@github.com/mycompany/product.git' 同: git push origin product-0.2:/refs/heads/product-0.2 尽pipe其他方式工作,例如创build一个分支product-0.1 ,承诺,然后应用标签product-0.1 。 有些人通过在本地删除冲突标签来解决这个问题,然后推送分支,然后检索远程标签,但是看起来很麻烦并且容易出错。 我怎样才能创build我的分支最小的烦恼? 感谢您的input

Git和Team Foundation Server

更新:我不再使用TFS。 但从评论中我可以看出, git-tfs显然是现在走的路。 有没有人使用Git作为Team Foundation Server的离线解决scheme? 对于Subversion,你可以使用git-svn来保存一个svn后端的私有仓库。 我试图使用SvnBridge和git-svn来处理TFS。 起初,它看起来很有希望,但Visual Studio认为解决scheme是在TFS版本控制下,并在提交时干扰。 还有其他的方法来结合这两个?

如何从最后一个标签获得所有提交?

当我要标记提交*时,我需要知道自上次标记提交后发生了什么变化。 例如: a87a6sdf87a6d4 Some new feature a87a6sdf87a6d3 Some bug fix a87a6sdf87a6d2 Some comments added a87a6sdf87a6d1 Some merge <- v1.4.0 在这个例子中,我想知道3个最新的提交,或者能够打印如上所述的日志,如果有的话,它们都显示提交他们的标签。 当我看到有一个新的function添加,我会标记它的v1.5.0。 你怎么处理这个? 这是我应该如何使用标签? 我应该在标签信息中写什么? 我总是把它留空: git tag -a v1.2.3 -m '' *是这个词吗? 那么changeset呢? 我已经看到它在mercurial

Git:如何挤压分支上的所有提交

我使用以下方法创build新分支: git checkout -b testbranch 我做了20个提交。 现在我想压缩这20个提交。 我这样做: git rebase -i HEAD~20 如果我不知道有多less提交,那么呢? 有没有办法做这样的事情: git rebase -i all on this branch

什么是CouchDB复制协议? 这是否像Git?

是否有技术文档描述两个沙发之间的复制是如何工作的? CouchDB复制的基本概述是什么? 有什么值得注意的特点呢?

Eclipse“错误:无法find或加载主类”

我有一个项目在我的笔记本电脑上的Eclipse,我推到Git https://github.com/chrisbramm/LastFM-History-Graph.git 它完全在我的笔记本电脑上运行,并运行/构build没有问题,但在我的桌面上,Eclipse不会给出错误 错误:无法find或加载主类lastfmhistoryguis.InputPanel 我已经尝试从以下项目构build项目: Project>Build Project 但没有发生。 我已经将这台计算机上的PATHvariables设置为JRE6,JRE7和JDK 1.7.0,即使这些variables没有在我的笔记本电脑上设置。 我有我的.classpath文件中的Jar文件( last.fm-bindings-0.1.1.jar ),该文件位于我的笔记本电脑上的C:\ Users \ Chris \ Downloads文件夹中,因此它不包含在git树中我最近把它带进了项目文件夹并承诺,但我不确定我是否做得对。 这也会造成一个问题,但是这里没有主要的论点。 我现在不能工作,我需要检查/改变。