GitDiff

【开发工具】最强Git使用总结

允我心安 提交于 2020-05-05 01:03:40
<span style='color:red;font-size:25px;'>最全的Java后端知识体系</span><span style='color:red;font-size:25px;'> https://www.pdai.tech </span>, <span style='color:red;font-size:25px;'>每天更新中...</span>。 Git是分布式代码托管的标杆,这里将提供如何学习Git,以及Git工作流的总结,和常用的操作命令。 -----2018年1月 @pdai [TOC] 必读材料 如果要问一本就可以学习Git的书或者文章,毫无疑问我会推荐Git Pro2,绝对是良心之作啊 Git Pro2英文Github仓库 https://github.com/progit/progit2 Git Pro2中文Gitbook https://bingohuang.gitbooks.io/progit2/content/01-introduction/sections/about-version-control.html Git Pro2对应的中文Markdown版本的仓库地址 https://github.com/bingohuang/progit2-gitbook Git Pro中文阅读 http://git.oschina.net

实验一 GIT 代码版本管理

巧了我就是萌 提交于 2020-05-04 07:04:56
实验目的: 1)了解分布式版本控制系统的核心机理; 2) 熟练掌握git的基本指令和分支管理指令; 实验内容: 1)安装git 2)初始配置git ,git init git status指令 3)掌握git log ,git add ,git diff 指令 4) 掌握git tag git branch,git commit 指令 5)掌握git revert 指令 实验记录: 1)实验内容以及结果的截图: 2)实验过程中发生的问题与解决。 1.安装git 下载windows版本的git软件,安装git并选择所有默认选项,安装完毕后,在桌面空白处右击,可以显示使用信息,安装成功。 三、Git初始化及仓库创建和操作 1、Git安装之后需要进行一些基本信息设置   a、设置用户名:git config -- global user.name '你再github上注册的用户名';   b、设置用户邮箱:git config -- global user.email '注册时候的邮箱'; 注意:该配置会在github主页上显示谁提交了该文件   c、配置ok之后,我们用如下命令来看看是否配置成功   git config --list 注意:git config --global 参数,有了这个参数表示你这台机器上所有的git仓库都会使用这个配置

git合并的时候,冲突问题Merging is not possible because you have unmerged files

末鹿安然 提交于 2020-05-02 18:32:38
在做项目工作的时候,同事修改了代码一个cpp代码,我同样也修改了代码,两人代码冲突了,提交之后,他代码git自动合并,并提示: [master| MERGEING] $ git merge my_new_branch error: Merging is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use 'git add/rm <file>' hint: as appropriate to mark resolution and make a commit. fatal: Exiting because of an unresolved conflict. 又或者提示如下错误: Auto-merging src/ui/menu/wizardGroup.c Auto-merging src/ui/menu/drawmenu5.c Auto-merging src/ui/menu/drawmenu3.c Auto-merging src/ui/menu/drawmenu2.c Auto-merging src/ui/menu/drawmenu1.c Auto-merging src/ui/menu/drawmenu0.c Auto-merging

git-it 教程,一些git知识点。/ 如何解决merge conflict/ 如何使用Github Pages./Git术语表

孤者浪人 提交于 2020-05-02 07:29:57
一个git使用教程 https://:.com/jlord/git-it-electron#what-to-install 一个在线Github的功能教学:https://lab.github.com/ 看刚才改变的文件的区别。 git diff: Add GitHub username to Git 添加你的用户名到你的Git配置: (一次性的,所有仓库都是这个名字) git config --global user.username <USerNamE> 再核查一下: git config --global user.username git remote add origin https://github.com/chentianwei411/hello-world.git git push -u origin master 把master分支推到远程仓库origin。 -u 的意思是设置upstream ❓不明白。 提示: 设置URL给一个远程仓库, 改变一个远程仓库url git remote set-url <remoteName> <URL> 拉: git pull <remoteName> <branchName> 推: git push <remoteName> <branch> 增加一个远程仓库: git remote add <remoteName> <URL

在windows+eclipse+git遇到的未修改文件被标记为已修改的问题

房东的猫 提交于 2020-05-02 00:42:22
  最近遇到2个具体的问题:   1、我们有个工程里面有几个外部jar包,这几个jar包经常会更新,更新的时候如果是在eclipse中执行的,由于windows文件机制,所以会报错无法覆盖这几个jar包。虽然git pull失败了,但是却出现了一个很严重的问题,就是许多未修改的文件被标记为已修改,另一个同事改的许多文件都变成了空文件。这个问题出现过2次,最后都是以手工reset + 手工合并的方式解决的问题。   2、今天我新增了一部分源码,同时在pom文件中引入了一个我自己的jar包,在commit后进行git pull+merge的过程中出现了一个conflict,手工解决完conflict发现了和1类似的错误:即许多未修改文件被标记为已修改。   排查过程:    首先,我提交了pom文件:   git commit pom.xml -m "merge pom"   git merge   发现依旧报错:   fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.   然后我查询了git状态:   git status   发现了问题: On branch master Your branch and ' origin

git diff/difftool

醉酒当歌 提交于 2020-05-01 23:21:50
参考好文: 使用命令和P4Merge进行diff :: https://www.cnblogs.com/cgzl/p/8597066.html g it difftool 即可弹出比较工具的界面 哈哈 =========================== 本地区域 git diff/difftool filepath 不带任何命令参数,工作区(本地文件)与暂存区比较,后面不带filepath的话,比较所有不同。Filepath可以时文件名子或文件夹。 git diff/difftool HEAD filepath 工作区与HEAD ( 当前工作分支, 最后一次commit) 比较。 git diff/difftool --staged filepath 暂存区与HEAD比较 git diff commitIDx commitIDy 比较两次commit的区别,commitIDx 和commitIDy都表示commit的 id, 最后一次commit可以用HEAD表示。 commitIDy内容显示在界面右侧。 git diff HEAD HEAD^ 比较的是HEAD 和 HEAD的上一次 git diff branchName filepath 当前分支的文件(filepath)与 branchName 分支的文件进行比较! 拓展: git diff branch1 branch2

git使用diff----git-pull之后如何查看拉下来的文件有那些修改

北城以北 提交于 2020-05-01 23:18:49
git pull拉取 git pull对于拉下来的修改文件自动对其进行git add /rm 及git commit 操作。所以拉下来的文件有那些修改,查看的方式可把它们归结于上一次提交的比较。 git diff HEAD 显示工作目录与git仓库之间的差异, 而 git diff HEAD^ 则显示上一次提交之前工作目录与git仓库之间的差异。所以我们在git pull后,可以通过git diff HEAD^ 来查看拉下来的文件有那些具体的修改。 ​ git diff 显示工作目录与索引文件之间的差异 git diff –cached显示索引文件与git仓库之间的差异 git diff HEAD 显示工作目录与git仓库之间的差异 Git查看版本改动—— git diff HEAD 表示当前版本,也就是最新的提交。上一个版本就是 HEAD^ ,上上一个版本就是 HEAD^^ , 往上100个版本写100个 “ ^ ” 比较容易数不过来,所以写成 HEAD~100 。HEAD~2 相当于 HEAD^^ 。 我们在 Git 版本回退里 可以利用 HEAD 关键字进行指定版本的回退。 那么对于 $ git diff HEAD -- <filename> 命令是不是也能操作不同的情况? 自己试了试一个例子: 命令 $ git diff 查看对比两次文件内容具体修改了什么。 命令 $

Git

邮差的信 提交于 2020-05-01 18:19:48
全世界最牛批的分布式版本管理工具 一、搭建git环境 从git官网下载,在安装选择时,第二次选择选第三个选项(避免回车符问题) 在命令行里设置git的配置信息(用户名和邮箱),之后的提交都会用这两个信息 可通过git config --list 来查看git 环境参数配置 初始化一个git仓库 git init 添加自己的改动 将改动从工作区域同步到暂存区域 git add . 将改动从暂存区域同步到本地git仓库 git commit -m "commit info" 上传本地git代码到远端 (第一次需要设置远端的github/gitlab地址) git remote add origin git@github.com :Boomxiakalakaka/git-learning.git git push -u origin master 二、开发常用操作 1. checkout(覆盖) 数据流动: 暂存区域 ——> 工作区域 将暂存区域中的数据覆盖开发区域的新改动的数据(开发区域的数据会丢) 指定覆盖文件内容: git checkout -- README.md 如果工作区域有新增的文件/文件夹,使用checkout命令会报错 当是如果是工作区域有删除的文件/文件夹,使用checkout是可以进行恢复 2. reset(重置) fixed 数据流动:git仓库 ——> 暂存区域

git clone 远程库到本地的步骤

你。 提交于 2020-05-01 04:29:21
从github远程库上clone到本地 当已有github 远程库时,从远程库上clone到本地的步骤 1.1 在本地新建文件夹git_clone 在git bash中,通过cd git_clone定位到本地文件夹 此时,可以使用git init 将本地的文件夹也加入到git 管理,如果加入后,则相当于本地文件夹也会有stage,后续的一切修改都要和stage进行比较。为了不必要的误会,这里不做这一步,相当于本地文件夹不进行git 管理。 1.2 使用git_clone 命令,从远程库clone代码。 这里的https:// 路径是从远程库上获取的。 Clone成功后,在本地会有如下代码 这里注意会有py_workspace/py_workspace/ 两级目录,这是因为在远程库上就是两级目录。 1.3 关键步骤:使用cd 命令,将工作目录定位到跟远程库一致。 这一步很关键,如第一步所说,git_clone文件夹下面根本没有加入git管理,所以要通过cd 命令,定位到有git 管理的目录。 如果直接在当前目录使用git status,可以看到如下:        说明当前目录并不是一个git管理的库。 因此,使用cd 命令定位到git 管理的目录下 这时候再使用git status ,可以看到已经是最新的分支节点上了: 1.4 修改代码,使用git diff 查看显示

git-bash的alias别名设置

安稳与你 提交于 2020-04-29 12:46:33
正常需要设置别名时,直接使用 alias gs="git status" 输入上边的命令之后,就可以使用gs(命令)代替git status(命令),这是一种设置别名简化输入,提升效率的办法 可以根据自己日常的习惯,和自己的理解,按照自己是喜好特点定义自己的一组常用的别名缩写。 然后日常操作就会变得简单很多。 但是,如果只是如此操作,当我们关闭终端窗口的时候,重新启动之后会发现,这个别名消失了。原因是没有永久保存。 如果想永久保存,我们可以做如下操作: ls ~/.bash_profile 查看用户目录的.bash_profile文件是否存在,如果存在直接修改,不存在这创建该文件,并编辑其内容 vi ~/.bash_profile 在该文件中写入最开始的alias 别名="命令"的信息,每行写一个。可以把所有想要设置别名的命令都列到这里。 然后保存该文件退出。此时,所有相关的别名设置基本完成。但是目前并么有马上生效,要不重启终端,要不通过命令 source ~/.bash_profile 命令执行以后,所有的别名就可以正常使用了,而且如果关掉终端再打开依然可以正常使用。 因为缩写确实是非常的方便,所以很多人都有这样的习惯。这里推荐一些人使用的zshell的一套别名 alias gpm='git push origin master' alias ...=../.. alias ..