GitDiff

你还不会Git?那就不要写代码了(学习过程记录)

ぐ巨炮叔叔 提交于 2020-04-18 03:22:05
Git应用开发学习 这,仅是我学习过程中记录的笔记。确定了一个待研究的主题,对这个主题进行全方面的剖析。笔记是用来方便我回顾与学习的,欢迎大家与我进行交流沟通,共同成长。不止是技术。 一旦你会使用了Git,就再也不想使用SVN了。永远也回不去了。 Mac上使用Git,肯定离不开对Mac上的操作。就要使用常用的Linux命令来进行操作。通过终端来进行操作。 学习Git一定要使用命令行的方式来学习。不要使用图形界面来操作学习。会大大折扣的哦。 花了时间来学习一门东西。一定要得到自己想要喜欢的东西。 课程的内容 Git官网 常见Linux命令介绍 Git在各平台下的安装与配置 分布式与集中式版本控制系统的差别 缓存区、工作区与Git提交 版本回退 修改与撤销修改、文件的添加与删除 Git对象类型与索引 Git分支branch 如何创建、切换与删除分支 Git分支在项目开发中的作用 Git分支在工程化项目中的最佳实践 分支常见重要命令详解 Git merage Git冲突解决策略 HEAD详解 Git Commit修改详解 远程版本库介绍 如何使用远程版本库 Git puah 、pull、fetch使用与注意事项 Git合并的基本原则 Git别名、config文件详解 Git tag详解 如何创建于推送tag Git feature分支详解 合适应该使用submodule Git

Git diff对付藏匿处

穿精又带淫゛_ 提交于 2020-04-07 19:04:43
问题: How can I see the changes un-stashing will make to the current working tree? 如何查看取消对当前工作树的更改? I would like to know what changes will be made before applying them! 我想知道在应用它们之前会做出哪些改变! 解决方案: 参考一: https://stackoom.com/question/WDKS/Git-diff对付藏匿处 参考二: https://oldbug.net/q/WDKS/Git-diff-against-a-stash 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/3223332

Git diff对付藏匿处

爱⌒轻易说出口 提交于 2020-04-07 18:57:43
问题: How can I see the changes un-stashing will make to the current working tree? 如何查看取消对当前工作树的更改? I would like to know what changes will be made before applying them! 我想知道在应用它们之前会做出哪些改变! 解决方案: 参考一: https://stackoom.com/question/WDKS/Git-diff对付藏匿处 参考二: https://oldbug.net/q/WDKS/Git-diff-against-a-stash 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/3223332

Git 两个版本之间差异文件打包文件解决ftp上传代码的烦恼

本秂侑毒 提交于 2020-03-25 22:48:43
3 月,跳不动了?>>> 最新接手一个项目,原来别人管理服务器的时候,代码都是通过ftp方式上传到服务器。这种方式第一次上传代码倒没什么问题,但是如果频繁上传更新的代码到服务器,不可能一个一个文件查找覆盖。以前我都是通过svn或git,上传代码到服务器,再在服务器的 web 目录下获取svn或git的代码,以后更新就用svn或git的命令来操作。 现在这个项目,是临时接手二次开发的项目,也不想随便动人家的服务器在上面装Git服务器,就还是沿用它的ftp上传方式。就想到了 Git 两个版本之间的差异文件打包功能,打包出增量的 zip 文件,再用 ftp 上传到服务器。 git diff 608e120 4abe32e --name-only | xargs zip update.zip git diff f506693 622b6a6 --name-only | xargs tar -czvf update.tar.gz 来源: oschina 链接: https://my.oschina.net/u/2476796/blog/3211533

在Windows 10上禁用Linux Bash的提示音[关闭]

丶灬走出姿态 提交于 2020-03-17 20:36:33
某厂面试归来,发现自己落伍了!>>> 在 Windows 10 上拥有Linux Bash 确实很酷,但是就我不得不与Microsoft提供的不太理想的终端苦苦挣扎而言,我将在所有方面都受Ubuntu的束缚。 无论如何,当您在Bash上执行某些操作时,是否有办法 关闭 该 提示音 ? 由于无法注释掉 bell-style audible ,因此无法注释掉,也无法启动 sc config beep start= disabled #1楼 找到 .bash_profile 文件的位置,然后在文件中输入以下内容: setterm -blength 0 这会将蜂鸣声发生的时间设置为0,因此没有蜂鸣声。 #2楼 要在 bash中 禁用蜂鸣声,您需要在 /etc/inputrc 文件中取消注释(或添加,如果没有的话)行 set bell-style none 。 注意: 由于它是受保护的文件,因此您需要成为特权用户才能对其进行编辑(即,使用诸如 sudo <editor> /etc/inputrc 类的东西启动文本编辑 sudo <editor> /etc/inputrc )。 要在 vim中 也禁用蜂鸣声,您需要在 ~/.vimrc 文件中添加 set visualbell 。 要在 更少的情况下 (例如,在手册页中以及使用“ git diff”时)禁用蜂鸣声,您需要在 ~/.profile

Git 常用命令

╄→гoц情女王★ 提交于 2020-03-12 12:00:00
添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件; 使用命令git commit -m <message>,完成。 修改记录和修改内容 要随时掌握工作区的状态,使用git status命令。 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。 版本回退 HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 来源: oschina 链接: https://my.oschina.net/u/4002376/blog/3192430

centos下如何使用 beyond compare 对比工具

浪子不回头ぞ 提交于 2020-02-29 14:25:57
我这里的环境是 centos 7桌面版 三条命令安装beyond compare wget http://www.scootersoftware.com/bcompare-4.2.3.22587.x86_64.rpm rpm --import http://www.scootersoftware.com/RPM-GPG-KEY-scootersoftware yum install bcompare-4.2.3.22587.x86_64.rpm 安装好之后就可以直接用bcompare命令调出对比工具了 然而我要做的是把git的差异对比换成bcompare 否则要它何用 默认的git对比是这样的 看着都想吐 第一步 找一个目录 创建一个shell脚本 我这里选择把脚本放在家目录去 vim /root/git-diff.sh 加入如下两行 #!/bin/sh "bcompare" "$2" "$5" | cat 再给个权限 chmod 755 /root/git-diff.sh 第二步 修改git项目中的config文件 vim ./.git/config 添加如下两行 [diff] external = /root/git-diff.sh 保存退出:wq 再调 git diff 1.txt 看到的是这样的 来源: oschina 链接: https://my.oschina.net

使用git查看对特定文件的更改

余生颓废 提交于 2020-02-26 22:58:02
我知道我可以使用 git diff 命令来检查更改,但据我所知,它是基于目录的。 这意味着它提供了当前目录中所有文件的所有更改。 如何仅检查一个特定文件中的更改? 说,我已经更改了文件 file_1.rb , file_2.rb ,..., file_N.rb ,但我只对文件 file_2.rb 中的更改 file_2.rb 。 我如何检查这些更改(在我提交之前)? #1楼 您可以使用 gitk [filename] 查看更改日志 #2楼 你可以执行 git status -s 这将显示已修改的文件名,然后通过复制感兴趣的文件路径,您可以使用 git diff 查看更改 git diff <filepath + filename> #3楼 或者如果您更喜欢使用自己的gui工具: git difftool ./filepath 您可以在此帖子的指导下设置gui工具: 如何使用visual diff程序查看'git diff'输出? #4楼 另一种方法(在 本SO答案中 提到)将保留终端中的历史记录,并为您提供文件本身的非常深入的记录: git log --follow -p -- file 这将显示文件的整个历史记录(包括重命名以外的历史记录以及每次更改的差异)。 换句话说,如果名为bar的文件曾被命名为foo,那么git log -p bar(不带--follow选项

如何与其父级进行提交?

天大地大妈咪最大 提交于 2020-02-26 09:07:34
除了编写别名或脚本之外,是否有更短的命令来获取特定提交的差异? git diff 15dc8^..15dc8 如果你只提供单个提交id git diff 15dc8 ,它会针对HEAD git diff 15dc8 该提交。 #1楼 使用别名,所以不能完全回答你的问题,但我觉得这些对你做的事情有用... alias gitdiff-1="git log --reverse|grep commit|cut -d ' ' -f2|tail -n 2|head -n 2|xargs echo|sed -e 's/\s/../'|xargs -n 1 git diff" alias gitdiff-2="git log --reverse|grep commit|cut -d ' ' -f2|tail -n 3|head -n 2|xargs echo|sed -e 's/\s/../'|xargs -n 1 git diff" alias gitdiff-3="git log --reverse|grep commit|cut -d ' ' -f2|tail -n 4|head -n 2|xargs echo|sed -e 's/\s/../'|xargs -n 1 git diff" alias gitlog-1="git log --reverse|grep commit|cut

文件末尾没有换行符

人走茶凉 提交于 2020-02-26 04:36:38
当执行 git diff 它说 “文件末尾没有换行符” 。 好的,文件末尾没有换行符。 有什么大不了的? 该消息的意义是什么,它试图告诉我们什么? #1楼 核心问题是如何定义行以及行尾字符序列是否为行的一部分。 基于UNIX的编辑器(例如VIM)或工具(例如Git)使用EOL字符序列作为行终止符,因此它是行的一部分。 这类似于在C和Pascal中使用分号(;)。 在C中,分号终止语句,在Pascal中,将它们分开。 #2楼 如果您在现有文件的末尾添加 新的文本行,但 在末尾还没有 newline character ,则diff会将旧的最后一行显示为已修改,即使从概念上来说不是。 这至少是在末尾添加 newline character 一个很好的理由。 例 文件包含: A() { // do something } 十六进制转储: 00000000: 4128 2920 7b0a 2020 2020 2f2f 2064 6f20 A() {. // do 00000010: 736f 6d65 7468 696e 670a 7d something.} 您现在将其编辑为 A() { // do something } // Useful comment 十六进制转储: 00000000: 4128 2920 7b0a 2020 2020 2f2f 2064 6f20 A() {.