源代码控制 - 如果、为什么、如何开始? [复制]

2023-11-21

可能的重复:
使用源代码管理

因此,尽管 Stack Overflow 上确实有几十个关于版本控制的内容,但我找不到好东西来回答我的所有问题。如果您有任何话要说或发布链接,请在此处进行。

1.、需要从版本控制入手吗?

虽然大多数人都同意,即使是单个开发人员/程序员也应该从版本控制开始,但没有人(或至少以可理解的形式)告诉

2., How?

我的本性是,我需要知道 CVS、SVN、Tortoise、Git、GitHub 的含义以及它们之间的区别,但我很难找到一些进入版本控制世界的简单方法。

作为一名开发人员/程序员,我工作或学习了几乎所有主要的编程/标记语言(从 Pascal 到 Java,从 HTML 到 PHP),并使用了数十种编辑器、IDE 和程序。当有人提到你甚至可以使用源代码管理来编写东西时——学生的作业、年度报告、书籍……你必须包括更多的编辑器……

我不知道如何开始版本控制,如何将其合并到我的工作流程中,如果我需要服务器或什么。

Edit

从您所有的答案(谢谢)中,我感觉到这实际上只是“与历史记录同步的文件夹”之类的东西(以最明显的方式)。如果是的话,你能回答两个问题吗? (编号为 4. 和 5.,因此不会在答案中混淆)

4.,如果我决定完全改变我的程序的结构(例如,在flex中,我决定使用两个as3类代替MXML组件)怎么办?这不会造成混乱吗?

5.、从其他问题来看,我多久提交一次? (发现这个问题已发布并可能已回答,但又丢失了)

Edit 2

再次,更多答案(谢谢)。

6.,我的问题4更像是如果我不小心(或没有)更新一些已删除的文件(这可能是可能的),它会破坏我的程序,因为例如它依赖于其他未删除的已删除文件,将我能拿到吗?

接下来,我将(对于任何寻找我正在寻找并偶然发现这个问题的人):

阅读这些问题:

  • 使用源代码管理
  • 对于玩具项目来说,哪种版本控制系统的设置和使用最简单?

看这个视频:

http://excess.org/article/2008/07/ogre-git-tutorial/

在从手册中了解基础知识的同时,我将范围缩小到最常用和最喜欢的 subversion(+TortoiseSVN) 和 git(hub)。我现在在 GitHub 上遇到的唯一问题是私有存储库是付费的,所以我要么寻找不同的 git 解决方案,要么更多地研究 Subversion。

Edit 3

尝试过 Mercurial,但发现它不适合我的工作流程...现在尝试 Subversion,所以我标记了最旧的 Subversion 答案。


我将与当前的趋势相悖,选择使用 Git。这就是我所做的,而不是学习SVN。通读第一个位git book.

一旦掌握了它的窍门,使用起来就非常简单了。想要在当前目录中启动一个新的存储库?

git init

想要用简短的提交消息提交所有内容吗?

git commit -am 'My commit message here'

这确实不是火箭科学,正如有些人想让你相信的那样。

对于一个孤独的开发者来说,这真的很简单。您不必费心使用单独的存储库,该存储库位于您的工作目录中。

Edit:你还问了github。他们有非常白痴的入门指南。当您注册帐户并添加新存储库时,它们会为您提供将其与本地存储库同步所需的确切命令。这是使用命令行的另一个好理由。

为什么使用github?如果您的计算机崩溃了,云中还会有一个副本。如果你想与朋友合作,请向他们发送一个链接,他们可以从 github 中获取 - v. 简单。

Edit2:

4:这不会造成任何问题。

5:我不能代表 SVN,但从我所听到的一切来看,因为 git 使提交变得如此容易,所以您可以更频繁地提交,这使您可以更精细地控制您的历史记录。所以,假设你犯了一个巨大的错误,破坏了一切,而且你在一周前的某个时候犯了这个错误,你可以检查你的 git 日志,找出发生变化的地方并修复它。至于实际频率,我大约每半小时一次(每半小时一次)pomodoro真的),但如果发生很多变化,可能会更频繁。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

源代码控制 - 如果、为什么、如何开始? [复制] 的相关文章

  • SVN:如何解决“文件已被替换”状态

    我正在修改文件 重命名它们并切换它们 我正在测试替代主页 现在我收到一条状态消息 上面写着 文件已被替换 和一个 R 我不知道该怎么做才能解决这个问题 我正在使用Coda 但它没有解决这个问题 所以我想这是命令行时间 我关心的版本是我的本地
  • git apply 不对文件进行任何更改

    我必须对我的存储库应用补丁并正在运行 git apply directory PWD xxxxx patch 由于我不会详细讨论的原因 我无法使用git am在这种情况下 我需要使用目录标志 吉特告诉我 gt git apply direc
  • Git Add - 致命:添加文件失败

    我的 git cmd exe 窗口如下所示 git add NextFolder error unable to create temporary file No such file or directory error NextFolde
  • 在 Windows 上从源代码构建 PhantomJS-2

    我正在尝试基于这些在 Windows 8 1 x64 上从源代码构建 PhantomJS 2 的开发版本指示 https github com ariya phantomjs wiki PhantomJS 2 但是我收到以下错误 mingw
  • Gitolite 与 LDAP 不工作

    我是 gitolite 的新手 我正在尝试用 gitolite 进行一个非常简单的测试 我已经设置了名为 test repo 的存储库 请注意 除了下面所述之外 我没有修改任何其他内容 我可以在 gitweb 中看到这个仓库 这是仓库配置
  • 使用 git filter-branch 然后 git push --force 清除大文件后,远程(Gitlab)上的 Git 存储库大小仍然很大

    我已按照 Gitlab 文档中有关 使用 Git 减少存储库大小 的说明进行操作 通过从历史记录中清除大文件 https docs gitlab com ee user project repository reducing the rep
  • Git Push 远程:致命:包超出允许的最大大小

    我接到了一个大项目 客户想将其添加到github 我是一点一点添加的 然后发生的事情是我太贪心了 一次添加了太多文件 现在 无论我尝试什么 我都会不断收到此错误 我怎样才能解决这个问题 我试图回滚 但也许我做错了 git push Ente
  • 使用 Git 处理 subversion:忽略对跟踪文件的修改

    我目前正在使用 subversion 存储库 但我正在使用 git 在我的计算机上本地工作 它使工作变得更加容易 但也使 subversion 存储库中发生的一些不良行为变得非常明显 这给我带来了问题 拉取代码后 有一个有点复杂的本地构建过
  • 为什么 git 无法识别我的本地存储库?

    我刚刚回到一个我已经使用 Git 大约 6 个月的项目 看到了这个 cd d DEVELOP BlenderAe My repo root git status fatal not a git repository or any of th
  • github Diff 截断错误

    在 github 中发出拉取请求并审查更改时 我们收到了 Diff Truncated 错误 如下所示 任何人都可以帮助解决这个问题 拉取请求可能会触发以下提到的限制之一GitHub 支持 https stackoverflow com a
  • git 工作目录中的更改拒绝恢复

    我的 git 工作目录中有五个文件git status显示为已修改 当我git diff他们 整个文件显示为已更改 我有core autocrlf true但似乎没有效果 当我试图从同事那里获取更改时 真正的问题出现了 修改 的文件之一会被
  • VS2013 - GIT 不工作

    我最近安装了VS2013 每当我尝试使用 GIT 执行任何操作时 我都会在输出窗口中收到以下两条消息 libgit2 引发错误 类别 未知 错误 本机库未提供错误消息 该问题可能主要出现在远程存储库获取中 在克隆远程存储库之前 请打开远程
  • Git 身份验证 - 以新用户身份拉取

    以下命令集可以正常工作 mkdir carboncake cd carboncake git init git remote add origin email protected cdn cgi l email protection rep
  • 如何将 git-svn 与 svn+ssh url 一起使用

    我喜欢在cygwin中使用git svn clone使用我们公司 svn 存储库的命令 这个的网址是svn ssh svn
  • 仅将单个文件放入 git 子模块/存储库中

    我在 git 源代码存储库中有一个特定文件 其中包含生产设置 密码 我想限制此文件 以便只有制作团队的成员才能看到它 但是 我想控制它的变化 我考虑过在 git 中使用子模块 然后限制对新存储库的访问 然而 git 似乎需要子模块的整个子目
  • 设置可视化SVN服务器后无法浏览存储库

    我在 Windows 7 x64 系统上安装了 VisualSVN Server 2 1 7 我已使用所有默认选项 安装路径 C Program Files x86 VisualSVN Server 存储库路径 D Repositories
  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 如何将更改提交到另一个预先存在的分支

    我刚刚对一个分支进行了更改 如何将更改提交到另一个分支 我正在尝试使用 git checkout the commmit to the changed branch b the other branch 但是 我认为这不是正确的做法 因为在
  • Git子模块绝对工作树路径配置

    这是我的子模块redmine 仪表板配置文件 子模块配置文件 core repositoryformatversion 0 filemode true bare false logallrefupdates true worktree Us

随机推荐

  • SQL Server 上的 varbinary 到 string

    如何将列值转换为varbinary max to varchar以人类可读的形式 以下表达式对我有用 SELECT CONVERT VARCHAR 1000 varbinary value 2 Here有关样式选择的更多详细信息 第三个参数
  • 检查是否从 iOS 设备访问 PHP 页面

    我有一个简单的 PHP 网页 并且希望返回不同的内容 具体取决于它是从 iPhone iPad 还是从网络浏览器访问 我怎样才能做到这一点 使用来自的用户代理 SERVER HTTP USER AGENT 对于简单的检测 您可以使用this
  • 如何检查网站上的值是否已更改

    基本上 如果网站上的值发生变化 我会尝试运行一些代码 Python 3 2 否则稍等一下 稍后再检查 首先 我认为我可以将值保存在变量中 并将其与下次运行脚本时获取的新值进行比较 但这很快就遇到了问题 因为当脚本再次运行并初始化该变量时 该
  • jquery ctrl+enter 作为在文本区域中输入

    I am trying to reproduce standard instant messenger behavior on TEXT area control enter works as send button ctrl enter
  • 如何在不使用更新数据库的情况下生成启用了迁移的 EF6 数据库?

    在 EF5 中 我依赖于这样一个事实 我可以使用以下命令从模型重新创建数据库Database CreateIfNotExists 我会根据需要生成迁移 但永远不会将它们签入源代码管理 因为它们往往是开发周期的工件 然后每个开发人员都会根据需
  • iTextSharp - 在电子邮件附件中发送内存中的 pdf

    我在这里问了几个问题 但仍然遇到问题 如果您能告诉我我的代码中做错了什么 我将不胜感激 我从 ASP Net 页面运行上面的代码并得到 无法访问关闭的流 var doc new Document MemoryStream memoryStr
  • 字符串数组长度显示为 1,即使调用后数组为空,用逗号 (,) 分割 [重复]

    这个问题在这里已经有答案了 这是我的代码 serialNumbers String serialArray serialNumbers split int arrayLength serialArray length 即使serialArr
  • 我可以观看另一个班级的 NSNotification 吗?

    我正在尝试了解 NSNotificationCenter 如果我的应用程序代理中有这样的内容 NSNotificationCenter defaultCenter addObserver self selector selector som
  • shell 中的浮点比较

    您能否向我建议在 Bash 脚本中进行浮点比较的语法 我理想地希望将其用作if陈述 这是一个小代码片段 key1 12 3 result 12 2 if result lt key1 then some code here fi bc是你的
  • 检测字符串中的 CJK 字符 (C#)

    我正在使用 iTextSharp 生成一系列 PDF 使用 Open Sans 作为默认字体 有时 姓名会插入 PDF 的内容中 然而我的问题是 我需要插入的一些名称包含 CJK 字符 存储在 SQL Server 中的 nvarchar
  • 如何增加 MongoDB 中的现有值

    我在用MongoDB 的 Stitch 平台 我想存储一个value and a count与数据库中的该值相关联 现在value可能不是第一次出现 所以我想插入value with count 1 我可以用update 使用以下命令更新
  • 实体框架无法识别唯一键

    我有两张桌子 Reports and Visualizations Reports有一个字段 VisualizationID 这指向Visualization通过外键的同名字段 它还具有在现场声明的唯一密钥 VisualizationID不
  • 有没有办法忽略 UNIX 排序中的标题行?

    我有一个固定宽度字段文件 我正在尝试使用 UNIX 在我的例子中是 Cygwin 排序实用程序对其进行排序 问题是文件顶部有一个两行标题 该标题被排序到文件底部 因为每个标题行都以冒号开头 有没有办法告诉 sort 将前两行传递给未排序的
  • 如何在 AJAX 请求中实现 jQuery 旋转图像

    我有一个 jQuery AJAX 请求 我想在请求加载时显示 ajax spinner gif 然后在请求成功后消失 任何人都可以建议将其实现到下面的 jquery 代码中的最佳方法 function updateCart qty rowi
  • 使用 MySQL 查找最近的重复 ID

    我用来做 SELECT email COUNT email AS occurences FROM wineries GROUP BY email HAVING COUNT email gt 1 根据他们的电子邮件查找重复项 但现在我需要他们
  • Excel - 将 JavaScript/Unix 时间戳转换为日期

    我想知道如何在 Excel 中将时间戳转换为日期 JavaScript 时间戳 1486812409161 Unix时间戳 1486812409 Excel 函数 公式可以转换为以下内容 2 11 2017 11 26 AM 或任何人类可读
  • java中双精度乘法的精度?

    java中双精度值的乘法运算符的保证精度是多少 例如 2 2 100 是 220 00000000000003 但 220 是双精度数 220 00000000000003 是 220 之后的下一个双精度值 乘法工作正常 但是2 2不能精确
  • SwipeRefreshLayout setRefreshing() 最初不显示指示器

    我有一个非常简单的布局 但是当我打电话时setRefreshing true in onActivityCreated 我的片段 它最初没有显示 它仅在我进行拉动刷新时显示 有什么想法为什么它最初没有出现吗 片段 xml
  • Weak_ptr 如何知道共享资源已过期?

    考虑以下代码 include
  • 源代码控制 - 如果、为什么、如何开始? [复制]

    这个问题在这里已经有答案了 可能的重复 使用源代码管理 因此 尽管 Stack Overflow 上确实有几十个关于版本控制的内容 但我找不到好东西来回答我的所有问题 如果您有任何话要说或发布链接 请在此处进行 1 需要从版本控制入手吗 虽