问题标签 [git]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
30 回答
914068 浏览

svn - 为什么 Git 比 Subversion 更好?

我已经使用Subversion几年了,在使用SourceSafe之后,我就是喜欢 Subversion。结合TortoiseSVN,我真的无法想象它会变得更好。

然而,越来越多的开发人员声称 Subversion 存在问题,我们应该转向新型分布式版本控制系统,例如Git

Git 如何改进 Subversion?

0 投票
34 回答
9482 浏览

git - 开始使用版本控制系统

我需要实施版本控制,即使只是我在家里做的开发。在过去的几年里,我读到了关于颠覆是多么伟大的文章,并且正准备专注于学习这一点,直到我听说 Git 是即将到来的版本控制系统。

鉴于这种情况,我应该推迟一下,看看哪个排在首位?它们的相对优势是什么?

我注意到 Git 的一个问题是,功能齐全的 GUI 并不多,这对我团队中的许多用户很重要。

此外,不介意关于如何开始使用其中一种的建议。(教程等)

0 投票
19 回答
613130 浏览

git - 如何撤消 git reset --hard HEAD~1?

是否可以撤消由以下命令引起的更改?如果是这样,怎么做?

0 投票
19 回答
18775 浏览

svn - 您如何处理源代码管理中的配置文件?

假设您有一个典型的 Web 应用程序和一个文件 configuration.whatever。每个从事该项目的开发人员都将有一个用于他们的开发盒的版本,将有一个开发、生产和阶段版本。您如何在源代码管理中处理这个问题?根本不签入此文件,使用不同的名称进行检查或完全做一些花哨的事情?

0 投票
36 回答
368702 浏览

windows - 如何设置编辑器以在 Windows 上使用 Git?

我正在Windows 上试用 Git。我到了尝试“git commit”的地步,但出现了这个错误:

终端是哑的,但没有定义 VISUAL 或 EDITOR。请使用 -m 或 -F 选项提供消息。

所以我发现我需要一个名为 EDITOR 的环境变量。没问题。我将其设置为指向记事本。这几乎奏效了。默认提交消息在记事本中打开。但记事本不支持裸换行。我出去买了Notepad++,但我不知道如何将 Notepad++ 设置为%EDITOR%它可以按预期与 Git 一起使用。

我没有嫁给记事本++。在这一点上,我不介意我使用什么编辑器。我只想能够在编辑器中输入提交消息,而不是在命令行(使用-m)。

那些在 Windows 上使用 Git 的人:你用什么工具来编辑你的提交消息,你必须做什么才能让它工作?

0 投票
5 回答
46257 浏览

git - 在 git 中切换分支名称

可能有不止一种方法可以问这个问题,所以这里是对这个问题的描述。我正在研究master并提交了一些东西,然后我决定暂停这项工作。我备份了一些提交,然后从我开始我的垃圾工作之前分支。实际上这很好用,我现在有一个不同的分支作为我的主要开发分支。我想知道如何改变事情,所以我再次在 master 上工作,但它没有我的垃圾工作,并且说工作在不同的分支上。

可以询问/解决的一些方法:如何将我的 master 分支重命名为其他内容,然后将其他内容重命名为 master?如何备份 master 然后导致我备份过去的所有提交都在不同的分支上?

感谢所有(快速)答案!他们都很好。

0 投票
4 回答
19857 浏览

python - 如何绘制 git repo 的代码行历史记录?

基本上我想在每次提交后获取存储库中的代码行数。

我发现的唯一(真的很糟糕)方法是使用git filter-branchto run ,以及在每次提交时wc -l *运行的脚本,然后运行git reset --hardwc -l

为了更清楚一点,当工具运行时,它会输出第一次提交的代码行,然后是第二次,依此类推。这就是我希望工具输出的内容(例如):

我玩过 ruby​​ 'git' 库,但我发现最接近的是.lines()在 diff 上使用该方法,这似乎应该给出添加的行(但没有:例如,当你删除行时它返回 0)

0 投票
15 回答
52782 浏览

svn - 如何在 svn 和/或 git 中“取消版本化”文件

它一直发生在我身上。我不小心对文件进行了版本化,我不想被版本化(即开发人员/机器特定的配置文件)。

如果我提交这个文件,我会弄乱所有其他开发人员机器上的路径——他们会不高兴。

如果我确实从版本控制中删除了该文件,它将从其他开发人员机器中删除 - 他们会不高兴。

如果我选择从不提交文件,我总是有一个“脏”的结帐——我很不高兴。

从修订控制中“取消版本”文件的干净方法是否会导致没有人不高兴?

编辑:试图澄清一下:我已经将文件提交到存储库,我只想将它从版本控制中删除 - 我特别不希望它从每个进行结帐的人身上被物理删除。我最初希望它被忽略。

答案:如果我能接受第二个答案,那就是这个。它回答了我关于 git 的问题 - 接受的答案是关于 svn。

0 投票
11 回答
15096 浏览

ruby-on-rails - 在 Capistrano 中部署 Git 子目录

我的主分支布局是这样的:

/ <-- 顶层

/client <-- 桌面客户端源文件

/server <-- Rails 应用程序

我想做的只是拉下 my 中的 /server 目录deploy.rb,但我似乎找不到任何方法来做到这一点。/client 目录很大,因此设置一个挂钩将 /server 复制到 / 不会很好,它只需要拉下 Rails 应用程序。

0 投票
14 回答
15529 浏览

git - 适用于 Mac 的优秀 Git 存储库查看器

任何人都可以推荐一个好的 Git 存储库查看器,类似于 gitk,它适用于 Mac OS X Leopard?(我不是说 gitk 不起作用)

当然我想要一个原生的 Mac 应用程序,但是我还没有找到,gitk 的最佳选择是什么?

我知道 gitview,但我期待评估尽可能多的替代方案。

http://sourceforge.net/projects/gitview