首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是怎么自学 Git GitHub 的?

怎么学?有哪些方法和资源? 以及面试的时候可能会考什么? Git / GitHub 是什么?有什么用?...试想一下,假如有 100 个人一起来开发大型项目,怎么才能保证大家的代码不重复,又能共享呢?难道把代码放到 U 盘里拷来拷去,或者口口相传说:我今天要改这个文件,其他人都别动? 肯定不行!...比如你把我写的代码覆盖了,或者搞丢了一部分。 为了更好地预防和解决这些问题,成为项目管理大师呢,建议大家还是了解下 Git 进阶知识。 有同学说 Git 简单,如果只是能用它来工作的话的确不难。...git revert) 检索(git grep) 展示差异(git diff) 溯源(git blame) 参考日志(git reflog) 交互式命令行(-i 参数) ⭐️ 预防冲突 ⭐️...Git Flow Git 内部原理 Monorepo 了解其他版本控制系统,和 Git 对比 学习方法 怎么学呢?

86920

我是怎么自学 Git GitHub 的?

怎么学?有哪些方法和资源? 以及面试的时候可能会考什么? Git / GitHub 是什么?有什么用?...试想一下,假如有 100 个人一起来开发大型项目,怎么才能保证大家的代码不重复,又能共享呢?难道把代码放到 U 盘里拷来拷去,或者口口相传说:我今天要改这个文件,其他人都别动? 肯定不行!...比如你把我写的代码覆盖了,或者搞丢了一部分。 为了更好地预防和解决这些问题,成为项目管理大师呢,建议大家还是了解下 Git 进阶知识。 有同学说 Git 简单,如果只是能用它来工作的话的确不难。...重置(git reset) 还原(git revert) 检索(git grep) 展示差异(git diff) 溯源(git blame) 参考日志(git reflog...了解其他版本控制系统,和 Git 对比 学习方法 怎么学呢?

46220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    原创 | 我在git merge的时候遇到了冲突,怎么解决?

    大家好,今天来和大家聊一个老生常谈的问题,我们在使用git merge的时候遇到了冲突,怎么办? 首先我们来看看为什么会冲突,git冲突的原因很简单,就是两个分支当中对同一处代码进行了不同的改动。...于是git会困惑,不知道在merge的时候究竟应该怎么做,于是就会出现冲突。 实战 光说不练没有意义,让我们来实际操作一下。 我们首先创建一个一个test.txt文件,在其中写入一行test。...除了直接打开文件之外,我们还可以运行git diff命令来查看冲突。 ? 解决冲突 手动解决 查看完了冲突之后当然是解决冲突,最简单的方法将去做手动合并。...它打开大概是这样的,我个人只用过一次,因为觉得太难用了。 git mergetool ? IDE工具 除了git官方之外,一般的IDE当中也都会提供merge的工具。...当然其他的IDE当中也有类似的工具,我个人觉得有这些工具就足够了,git merge还有一些其他的参数用法,以及一些复杂的情况,我们先放放如果后面遇到再来分享。

    6.9K20

    一个有些意思的项目--文件夹对比工具(一)

    但是软件并没有从插入的地方开始的右侧字符,全标记为差异,所以,软件是怎么识别出来的呢?...这就是最短diff算法,diff就是把原始字符串变成目标字符串,要进行的各种增删操作;或者也可以和数学里的delta对比,我查了下,delta就有变动的意思。...image-20220801214421370 "最短diff"这个算法有多种实现,在git diff的代码中,就有4种实现供我们选择,分别是: myers, minimal, patience, histogram.../2020/10/10/when-to-use-each-of-the-git-diff-algorithms/,有需要的同学可以看看。...这篇就简单说下我对myers的理解,算法比较复杂,我也没怎么弄懂,大家也跟着有个概念就行了(狗头) diff的另一种直观展示 大佬们想了一个办法来表示diff。

    58840

    10.8 Git 内部原理 - 环境变量

    GIT_LITERAL_PATHSPECS 禁用上面的两种行为;通配符将不能用,前缀覆盖也不能用。 GIT_ICASE_PATHSPECS 让所有的路径规格忽略大小写。...比较和合并 GIT_DIFF_OPTS 这个有点起错名字了 有效值仅支持 -u 或 --unified=,用来控制在 git diff 命令中显示的内容行数。...GIT_EXTERNAL_DIFF 用来覆盖 diff.external 配置的值。 如果设置了这个值, 当执行Git git diff 时,Git 会调用该程序。...GIT_DIFF_PATH_COUNTER 和 GIT_DIFF_PATH_TOTAL 对于 GIT_EXTERNAL_DIFF 或diff.external 指定的程序有用。...这不是配置定制 ssh 调用方式的最简单的方法; 它不支持额外的命令行参数, 所以你必须写一个封装脚本然后让 GIT_SSH 指向它。 可能用 ~/.ssh/config 会更简单。

    1K30

    使用git上传我们的故事

    ,我想把我想告诉你的上传到git上,可是我还不会使用 原谅我之前没有努力学习,这一次,我想好好做个总结 前两天写了好多树的代码,想上传到git上面,但好多命令和操作差不多忘了 关于为什么使用git?...”(staged),可以在diff后边添加--cached来查看修改 查看修改状态 staged & unstaged (HEAD) 我现在再添加一句:sex=男 在diff后边加HEAD也可以查看不同...git diff # 查看没有add时候的状态,即unstaged git diff --cached #查看已经add时候的状态,即staged git diff HEAD #有没有add,都可以查看...~2 回到前100个版本:git reset --hard HEAD~100 或者使用id号码进行退回,这里需要查看对应版本的id号码 git reset --hard 3ccb20c 情况四: 现在退回到过去的版本了...git reflog 这个命令可以显示每一步提交或退回的变化 第一列是id,第二列是指针 我现在退回到创建第一个文件的时候,执行下面命令之后,此时文件夹只有一个a.py文件 哎~说好退回到未来的,我怎么退回来了

    29220

    8.2 自定义 Git - Git 属性

    比较二进制文件 你也可以使用 Git 属性来有效地比较两个二进制文件。 秘诀在于,告诉 Git 怎么把你的二进制文件转化为文本格式,从而能够使用普通的 diff 方式进行对比。...毕竟运行 git diff 命令后,你只能得到如下的结果: $ git diff diff --git a/chapter1.docx b/chapter1.docx index 88839c4..4afcb7c...作为例子,我把本书的第一章另存为 Word 文件,并提交到 Git 版本库。 接着,往其中加入一个新的段落。...运行 git diff,输出如下: $ git diff diff --git a/chapter1.docx b/chapter1.docx index 0b013ca..ba25db5 100644...Git 成功地挑出了我们添加的那句话“Testing: 1, 2, 3.”,一字不差。 还算不上完美——格式上的变动显示不出来——但已经足够了。 你还能用这个方法比较图像文件。

    75230

    GitHub 系列之「Git 进阶」1.用户名和邮箱2.alias3.其他配置4.diff5.checkout后面的一长串是commit_id,是每次commit的SHA1值,可以根据 git log

    比如我想直接输入以下命令代替: git c git co git br git s 是不是很简单快捷啊?...有些人纳闷我的终端怎么有各种颜色显示,自己却不是这样的,那是因为你们没有开启给 Git 输出着色,输入如下命令即可: git config --global color.ui true ---- 还有些其他的配置如...,比如我有一个 a.md 的文件,我现在做了一些改动,然后输入 git diff 就会看到如下: 红色的部分前面有个** -** 代表我删除的,绿色的部分前面有个 + 代表我增加的,所以从这里你们能一目了然的知道我到底对这个文件做了哪些改动...# 比较两次提交之间的差异 git diff .....之后一切都解决了,你再切换回来继续做你之前没做完的功能,但是之前的代码怎么还原呢?

    75520

    忽略不想提交的文件- 每天三分钟玩转Git(10)大结局

    我们要怎么做呢? 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 ?...: git update-index —no-assume-unchanged 文件名 这个时候就有人问了,要是加了太多的忽略跟踪,要是忘记了怎么办?...完结撒花 到这里就玩转Git系列就全部更新完毕了,同时我把这个系列的文章整理成了目录,加到了菜单中的【精选教程】【玩转Git】中便于大家查阅。...今天连发两篇,另一篇我把Git几乎所有可能用到的命令归类,方便备用查询。...后续我会在下面三个挑一些来写一写,完整这个Git专题 【保留原提交记录迁移Git项目】【svn迁移到Git】【常用Git可视化工具】 理论上,git日常用到的命令是 diff show fetch rebase

    1.6K10

    笨办法学 Python · 续 练习 29:`diff`和`patch`

    挑战练习 diff命令接受两个文件并产生第三个文件(或输出),它包含第一个文件与第二个文件相比,修改的东西。它是git和其它版本控制工具的基础。...那个人可以使用他们的原始文件副本和.diff,使用patch来重建你的更改。 以下是一个工作流程示例,来演示diff和patch的工作原理。我有两个文件A.txt和B.txt。...A.txt文件包含一些简单的文字,然后我复制它,并创建B.txt`,带有一些修改: $ diff A.txt B.txt > AB.diff $ cat AB.diff 2,4c2,4 diff命令开始,因为使用 Python 来作弊,你有完全实现的diff。你可以在difflib文档的末尾找到它,但尝试实现你的版本,并看看与之相比怎么样。...另一件需要研究的事情是git的工作方式。

    30710

    【工具】Git 常用操作 - 备忘录

    ,虽然我根本没用过,所以这才是我总结这篇文章的目的啊,你看多少盲点啊 大概有两个用处 1、修改上一条提交记录的注解 比如当你提交了记录,但是突然发现这个记录的注解写得不是很好,你想重写怎么办,用这个命令就对了...C 上工作,并且分离之后分支 B上没有任何提交,此时 分支B 再 合并 分支C ,就可以使用快进模式 2 --- git merge --no-ff ff 是 fast-forward 的意思...把改动临时存起来,需要的时候再提取 这个命令还是简单滴,而且能用到的机会很多,所以需要记住这个 ? 有什么用法?...列表是时间倒序排列的,最新的 保存放在最前面 5 --- git stash pop 我们已经知道怎么保存了,当然要知道怎么取出来了默认取出 stash 列表中最新的保存 ?...所以 加不加都一样 怎么指定我要撤销哪个提交?

    46731
    领券