GitDiff

【Git】(2)---checkout、branch、log、diff、.gitignore

你。 提交于 2020-04-27 22:37:48
常用命令 一、命令 1、checkout 切换分支 git checkout 分支名 # 切换分支 # 如果在当前分支上对文件进行修改之后,没有commit就切换到另外一个分支b, 这个时候会报错,因为没有commit的文件在切换分支之后会不覆盖。所以Git 报错提示。 git checkout -f 分支名 # 强制切换到分支 # 如果在当前分支上对文件进行修改之后强制切换另一个分支,那么当前分支修改东西直接丢弃,所以-f 参数一定一定要非常非常小心使用,一般情况下不建议使用,除非真的要强制去执行 git checkout - # 切换到上一个分支 git checkout . # 撤销工作区中当前目录中的所有更改 2、branch 查看新建分支 git branch # 列出所有本地分支 git branch -r # 列出所有远程分支 # 新建一个分支,但依然停留在当前分支 这个时候本地已经有新分支了,但远程还没有,只有切换到新分支push后,远程就有了 git branch [branch- name] git checkout -b [branch] # 新建一个分支,并切换到该分支 git branch -d [branch-name] # 删除分支 已合并的分支 *不能删除当前所在的分支 git branch -D dev # 强行删除分支 分支未合并 git

git branch & checkout fetch 的使用和冲突解决

余生长醉 提交于 2020-04-27 18:23:08
git branch & checkout fetch 的使用和冲突解决 branch git branch     查看本地分支 git branch -v    查看本地分支的具体信息(commit id,例如:f65ded9 和 commit 信息) git branch -r    查看远程分支 git branch -a    查看本地和远程分支 git branch -vv 查看本地分支和远程分支的对应关系 git branch <new-branch-name>           新建本地分支 git branch <new-branch-name> <commit id>     给 commit id 新建一个分支 git branch -d <branch-name> [<branch-name>]    删除(多个)本地分支 git branch -m <new-anem>             在当前分支中修改当前分支的名字 checkout & branch git checkout <branch-name>   切换到另外的一个分支 fetch & branch git fetch origin master:<name-branch-name>   抓取远程仓库 origin 的 master 分支到本地的一个新分支<name-branch

学习笔记之Git / Gitflow / TortoiseGit

不羁岁月 提交于 2020-04-27 04:31:13
Git - Wikipedia https://en.wikipedia.org/wiki/Git Git ( / ɡ ɪ t/ ) is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development , but it can be used to keep track of changes in any set of files. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows. Gitflow Workflow | Atlassian Git Tutorial https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow Gitflow Workflow

廖雪峰Git教程学习笔记(一)

邮差的信 提交于 2020-04-26 05:45:55
作者及其背景:仔姜,大三学生,幼儿园英语水平,熟系Linux文件基本操作(最基础的) 文章内容或许有些疏漏之处还望各位大佬见谅,如果构成侵权或出现其他问题,请联系我邮箱:zhaozijiang_yjt@163.com, 如果需要更全的知识请移步廖老师Git教程 学习内容来源:廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 感谢廖雪峰老师提供的教程 正文开始: Git简介 什么是Git? Git是目前世界上最先进的分布式版本控制系统(就是一个版本控制系统=_=) Git的诞生 因为与BitMover公司的某些原因,导致了Linus花费了两星期时间写出了Git。 集中式VS分布式 集中式:版本库集中存放在中央服务器,而工作时,需要使用的是自己的电脑,从中央服务器取得最新的版本,然后工作才能展开,工作完成后,又需要将自己的修改推送至中央服务器。 集中式版本控制系统最大的特点是必须联网才能工作。 分布式:没有中央服务器,每一台电脑就是一个完整的版本库,工作时不需要联网,多人协作时,只需要把各自的修改推送给对方,就可以互相看到对方的修改。 分布式版本控制特点:安全性更高,发生意外时无须太过担心,可以从其他电脑复制过来,开源免费(划重点) 安装Git

git教程之回到过去,版本对比

只愿长相守 提交于 2020-04-26 04:48:21
回到回去 git reset 命令的选项 1.git reset --mixed HEAD~ (默认) -移动HEAD的指向,将其指向上一个快照 -将HEAD移动后指向的快照回滚到暂存区域 2.git reset --soft HEAD~ -移动HEAD的指向,将其指向上一个快照(相当于撤销commit) 3.git reset --hard HEAD~ -移动HEAD的指向,将其指向上一个快照 -将HEAD移动后指向的快照回滚到暂存区域 -将暂存区域的文件还原到工作目录 reset 回滚到指定快照 git reset id号(建议是5位) 当还原到最老id时,如果知道最新id 可以回滚到最新快照,即使他已经被旧版本覆盖(hard) reset 回滚个别文件 git reset 版本快照 文件名/路径(忽略HEAD指针的改变) 版本对比 1.比较暂存区域和本地工作目录 git diff diff -- git a / README. md b / README. md #表示分布把暂存目录和工作目录的文件放置在自动生成的a/b文件夹下,比较两个文件夹 ​ --- a / README. md #暂存区域 +++ b / README. md #工作目录 新(+) 搜索 #/+关键词 从上往下搜索 #?+关键词 从下往上搜索 q退出 ​ 比较两个历史快照: git diff

git代码规范检测工具

隐身守侯 提交于 2020-04-24 19:43:50
cd /path/to/project/.git/hooks mv pre-commit.sample pre-commit vim pre-commit 删除原有的东西,将下面脚本复制进去 #!/bin/sh file=$(git diff --name-only HEAD) bin/phpcs --config-set default_standard PSR2 for i in $file;do bin/phpcs -n $i done; 保存 来源: oschina 链接: https://my.oschina.net/owenzhang24/blog/3827211

使用git如何规范地向主线提交代码

强颜欢笑 提交于 2020-04-24 15:49:26
使用git向主干分支合并代码通常采用两种方式:第一种是merge,第二种是利用BeyondCompare等工具进行比对,将差异合并到主干; 通过merge合并代码出现冲突时,并不清楚谁的修改和谁的修改发生了冲突,在没有了解冲突背景的情况下解决冲突可能引入问题; 利用BeyondCompare等比对工具直接将代码合入会丢失大量的commit信息,影响后续代码的可追溯性。 个人建议采用git cherry-pick进行代码合并;首先在自己的开发分支上进行开发调试,验证通过后进行代码提交整理,识别功能性提交和调试性提交,将调试性提交与之前的功能性提交进行commit合并,最后将整理后的commit通过git cherry-pick合并到主干分支,具体步骤如下: 1.从主线分支master拉取自己的开发分支self_develop; 2.在自己的开发分支self_develop上进行开发、调试、验证,直至当前小功能点验证通过; 3.在自己的开发分支self_develop上执行git log >gitlog.txt, 将commit信息导出到gitlog.txt中,如下所示(请无视中文commit log,这是自己的LaTex文档库😀); 4.使用notepad++等文本编辑器,过滤出以commit起始的commit id信息,从中截取拉取开发分支时的base以及后续开发提交部分,如下所示

git diff 以及解决代码冲突

旧城冷巷雨未停 提交于 2020-04-24 14:19:35
git diff 格式解读-》 http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html 我是使用一台电脑测试, 然后在本地电脑创建了两个工作目录。专门用来模拟两个人提交代码。假设a、b两个人。只使用一个master分支做测试, 没有建立其他的分支。 主要就是为了研究冲突的解决方式。感觉git pull总是强制覆盖。 a修改了代码并且提交master分支。     1) 测试一: 远程master分支已改变,然后b现在也修改了代码。不过b还没有提交,直接git pull ,不能拉取代码。报错提示: error: Your local changes to the following files would be overwritten by merge: readme.txt Please commit your changes or stash them before you merge.     2) 先测试 b 选择commit的情况:b 修改代码后,commit 提交了代码。然后git pull,此时提示信息: Auto- merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix

在 IntelliJ IDEA 中使用 Git,太方便了!.md

萝らか妹 提交于 2020-04-23 12:53:03
作者:J'KYO cnblogs.com/pejsidney/p/9199115.html git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也 因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。 git的基本工作流程: git clone:将远程的Master分支代码克隆到本地仓库 git checkout:切出分支出来开发 git add:将文件加入库跟踪区 git commit:将库跟踪区改变的代码提交到本地代码库中 git push:将本地仓库中的代码提交到远程仓库 git 分支 主分支 master分支:存放随时可供生产环境中的部署的代码 develop分支:存放当前最新开发成果的分支,当代码足够稳定时可以合并到master分支上去。 辅助分支 feature分支:开发新功能使用,最终合并到develop分支或抛弃掉 release分支:做小的缺陷修正、准备发布版本所需的各项说明信息 hotfix分支:代码的紧急修复工作 2、git在IntelliJ IDEA下的使用 2.1、IntelliJ IDEA下配置git 本地安装好git,并配置合理的SSH key,具体看这里:

在 IntelliJ IDEA 中使用 Git,太方便了!.md

佐手、 提交于 2020-04-23 01:50:38
作者:J'KYO cnblogs.com/pejsidney/p/9199115.html git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也 因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。 git的基本工作流程: git clone:将远程的Master分支代码克隆到本地仓库 git checkout:切出分支出来开发 git add:将文件加入库跟踪区 git commit:将库跟踪区改变的代码提交到本地代码库中 git push:将本地仓库中的代码提交到远程仓库 git 分支 主分支 master分支:存放随时可供生产环境中的部署的代码 develop分支:存放当前最新开发成果的分支,当代码足够稳定时可以合并到master分支上去。 辅助分支 feature分支:开发新功能使用,最终合并到develop分支或抛弃掉 release分支:做小的缺陷修正、准备发布版本所需的各项说明信息 hotfix分支:代码的紧急修复工作 2、git在IntelliJ IDEA下的使用 2.1、IntelliJ IDEA下配置git 本地安装好git,并配置合理的SSH key,具体看这里: