--no-ff选项表示即使可以进行快进(fast-forward)合并也要创建一个新的commit,这样可以在历史记录中看到这次合并操作。...· git checkout -b 用于创建并切换到一个新的分支。 · git branch 用无参数执行,会列出所有的本地分支。当前的分支名前会有一个*标记。...其他操作 查看提交记录 git log 显示所有的提交历史记录。每个提交都会显示作者、日期和提交消息。 · git log branchname 显示指定分支的所有提交历史记录。...· git log --graph 分支名(多个分支名以空格隔开) 以图形形式显示一个或多个分支的所有提交历史记录。...· git log --graph --all 以图形形式显示所有分支的所有提交历史记录。 · git log --author= 显示指定作者的所有提交历史记录。
git log --branches --not --remotes=origin 显示任何本地分支中的所有提交,但不显示 _ 原点 _ 的任何远程跟踪分支中的所有提交(您的原点没有)。...git log master --not --remotes=*/master 显示本地主服务器中但不在任何远程存储库主分支中的所有提交。...首先列出主要工作树,然后列出每个链接的工作树。输出详细信息包括工作树是否裸露,当前检出的修订版,以及当前检出的分支(或者 _ 分离 HEAD_ ,如果没有)。...可以多次指定此选项;如果是这样,Git 将报告从任何给定提交可到达的提交。 此选项的参数可以是 ref 的名称,ref 或者提交的(可能缩写的)SHA-1 上的 glob。...此选项可以多次被指定;如果是这样,Git 将报告从任何给定的提交中可访问的提交。 此选项的参数可以是 ref 的名称,ref 或者提交的(可能缩写的)SHA-1 上的 glob。
为例,找到 master 分支上提交的并且只有一个父的提交节点(如果提交节点有多个父,那么所有父节点都要处理),该节点必须是所有分支的父节点,否则需要考虑其他分支特殊处理的情况,该情况后面的【特殊分支处理...所以要提前弄清楚有没有在截断节点之前早就创建出来一直在用的分支,如果有就得特殊处理上面的2和3步骤了: 第2步中截断历史记录的时候,要类似分析 master 分支那样分析其它需要保留的特殊分支,找出各自的截断节点的父提交...确保像上图这样,最后一个也上传成功。...push 上去的风险,这样就会把瘦身前的历史记录又推送到瘦身后的 Git 仓库,造成瘦身白费。...本地随机抽取分支对比新旧仓库文件个数以及最新代码是否一致。 本地编译验证,程序启动主流程验证。 出包构建平台验证: 主干分支、发布分支、个人需求分支、个人分支等的构建验证。
git branch # 列出本地分支 列出远程分支: git branch -r # 列出远端分支 列出所有分支: git branch -a # 列出所有分支 查看各个分支最后一个提交对象的信息...oneline #显示历史记录时,每个提交的信息只显示一行 彩色的Git输出: git config color.ui true #彩色的 git 输出 查看最近的提交日志: git log...#查看最近的提交日志 单行显示提交日志: git log --pretty=oneline #单行显示提交日志 使用图形展示提交日志: git log --graph --pretty=oneline...--abbrev-commit 显示第几条日志(倒数): git log -num #显示第几条log(倒数) 查看所有分支的所有操作记录: git reflog #查看所有分支的所有操作记录...提交日期,按多久以前的方式显示 %s 提交说明 以上表格列出了在Git中可用的Pretty Formats选项及其说明。
,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面 用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作。...如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置。....git目录了,在本地一般不这样做 ?...本地提交文件 右键选择Git提交,填写日志信息,不然不能提交然后点提交,这一步是将文件提交到你本地的仓库,git中不能提交一个空文件夹,里面一定要有文件才行 第一行默认提交到master分支,也可以选择新建分支...显示日志 红色代表当前分支,绿色代表本地分支,浅×××代表远端分支,×××代表标签 可以看到各版本提交的信息,及分支合并的信息,还有文件的操作状态 ? 颜色可以在设置中更改 ?
为什么有时需要使用 --force 来强制提交更改 rebase 是一个可以重新提交的命令,它改变了 SHA1 hash。如果是这样,本地提交历史将不再与其远程分支保持一致。...如果是这样,我通常使用rebase --abort 并使用 merge 来一次性解决所有冲突。 19....假设 master 分支是咱们的主分支,咱们不希望有选择地从它的历史记录中提取提交,这会以后引起冲突。 咱们想要 merge 或 rebase 分支的所有更改。...还可以使用 git reset 来撤消最近的提交,并将它们的更改放入工作索引中,然后将它们的更改分离到新的提交中。 33.有没有办法查看已修复的提交?...git log 查看日志,找到对应的修改记录,但是这种查找只能看到文件,而不是文件的内容。
(注意:最后的点“.”和前面的字母之间有一个空格) 表示把所有发生变化的文件上传到暂存区,“.”表示所有 4、再输入命令: git commit -m ‘本次提交的注释’(注:引号内容可不写省略) Git...-allow-unrelated-histories ,因为git@2.9之前如果是两个没有相关历史记录的分支进行合并,执行git pull可以也就是git fetch 可以,git merge也可以,...-m ‘本次提交的注释’ git push 仓库别名 分支名 =============================================== 历史记录 git log git log...:git提交改动到缓存,要push的时候不会将本地所有的分支都push掉,所以出现这个问题。...1.先创建一个新的分支提交改动 git branch newbranch 2.检查这条命令是否创建成功 git branch 这时终端会输出: newbranch master 这样就创建成功了,前面的代表的是当前你所在的工作分支
# 只显示合并日志 git log --merges # 以图形查看日志记录, --oneline 可选 git log --graph --oneline # 以倒序查看历史记录 git log...查看分支 # 查看所有分支 git branch -a # 查看本地分支 git branch # 查看远端分支 git branch -r # 查看本地分支所关联的远程分支 git branch...develop # 创建一个空的分支, 不继承父分支,历史记录是空的,一般至少需要执行4步 git checkout --orphan develop git rm -rf...还原初始状态 (前提是未推送到远程仓库), 需要还原的上一个commit_id git reset --hard 标签 # 列出本地所有标签 git tag # 列出远程所有标签...# 递归抓取子模块的所有更改,但不会更新子模块内容 git pull # 这个时候需要进入子模块目录进行更新, 这样就完成了一个子模块更新,但是如果有很多子模块就比较麻烦了 cd git-manual
进行版本控制的方法很多,Git 拥有一个精心设计的模型,这使其能够支持版本控制所需的所有特性,比如维护历史记录、支持分支和团队协作。...| tree | commit Git 在存储数据的时候,所有的对象都会基于它们的安全散列算法进行寻址。...git add : 添加文件到暂存区 git commit: 创建一个新的提交 git log: 显示历史日志 git log --all --graph --decorate:...: 创建分支并切换到该分支 git merge : 合并到当前分支 git mergetool: 使用工具来处理合并冲突 3)远端操作 git remote: 列出远端...git branch --set-upstream-to=/: 创建本地和远端分支的关联关系 git fetch: 从远端获取对象/索引 git pull
>], --no-column # 在列中显示分支列表 -r, --remotes # 列出或删除(如果与-d...# 在切换分支时,如果对当前分支与切换到的分支之间的一个或多个文件进行本地修改,则该命令将拒绝切换分支以便在上下文中保留修改 --conflict= #...,执行一个选项卡扩展(将每个选项卡用足够的空格替换,以填充日志消息中的倍数为的下一个显示列) --notes[=]...--log[=], --no-log # 除了分支名称之外,还可以用来自至多实际提交的单行描述来填充日志消息 --stat...# 在输出中显示日志消息之前,执行一个选项卡扩展(将每个选项卡用足够的空格替换,以填充日志消息中的倍数为的下一个显示列) --notes[=]
# 查看所有分支 git branch -a # 查看本地分支 git branch # 查看远端分支 git branch -r # 查看本地分支所关联的远程分支 git branch -vv...# 切换到 develop 分支 git switch develop # 切换到上一个分支 git switch - # 强制切换到 develop 分支,并抛弃本地所有修改 git switch...# 只显示合并日志 git log --merges # 以图形查看日志记录, --oneline 可选 git log --graph --oneline # 以倒序查看历史记录 git log...# 把某个commit_id还原初始状态 (前提是未推送到远程仓库), 需要还原的上一个commit_id git reset --hard <commit_id> 标签 # 列出本地所有标签...# 递归抓取子模块的所有更改,但不会更新子模块内容 git pull # 这个时候需要进入子模块目录进行更新, 这样就完成了一个子模块更新,但是如果有很多子模块就比较麻烦了 cd git-manual
仓库,并从这个仓库中检出了所有文件的 工作副本。...来看一个实际的 .gitignore 例子 touch .gitignore # 创建忽略文件 # 忽略所有的 .log 文件 *.log # 忽略所有的 .class 文件 *.class # 忽略所有的...你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交: 4.4 git reflog 用来查看你每次的操作历史记录.这样即使误操作,也可以恢复你想要的版本了 4.4 git撤销 场景...每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长: 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交...branch git branch命令会列出所有分支,当前分支前面会标一个*号。
Git 基本使用 参考链接: git 官方文档 廖雪峰 git Git 常用命令 创建 克隆远程库 git clone [远程仓库] 创建一个新的存储库 git init 分支和标签 列出所有分支 git...-d [分支名] 给当前分支打上标签 git tag [标签名] 本地变化 查看本地文件状态变化 git status 跟踪文件的更改 | 用于比较两次修改的差异 git diff 将当前工作区目录下所有变化的文件提交到暂存区...将暂存区的所有文件提交到本地分支 git commit -m [描述] 历史记录 显示所有提交日志 git log 加 –pretty=oneline 可以简化显示 显示所有提交命令 git reflog...合并 将指定分支合并到当前分支内 git merge [分支名] 更新和发布 列出所有当前配置的远程仓库 git remote -v 添加远程仓库 git remote add [别名] [远程仓库网址...加 -f 强制提交 删除本地上的分支 git branch -dr [别名/分支] 删除远程上的分支 git push [别名] -delete [分支名] 回退 丢弃当前工作目录中的所有修改 git
默认情况下,仅列出第一个 URL。 使用--push,将查询推送 URL 而不是提取 URL。 使用--all,将列出远程的所有 URL。 set-url 更改远程的 URL。...git log --branches --not --remotes=origin 显示任何本地分支中的所有提交,但不显示 _ 原点 _ 的任何远程跟踪分支中的所有提交(您的原点没有)。...git log master --not --remotes=*/master 显示本地主服务器中但不在任何远程存储库主分支中的所有提交。...git log -p -m --first-parent 显示包含更改差异的历史记录,但仅显示“主分支”透视图,跳过来自合并分支的提交,并显示合并引入的完整更改差异。...如果工作树具有本地修改,则附加“-dirty”。如果存储库已损坏并且 Git 无法确定是否存在本地修改,则 Git 将出错,除非给出“–broken”,而后缀为“-broken”。
的 Git 仓库,并从这个仓库中检出了所有文件的 工作副本。...来看一个实际的 .gitignore 例子 touch .gitignore # 创建忽略文件 # 忽略所有的 .log 文件 *.log # 忽略所有的 .class 文件 *.class # 忽略所有的...你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交: 4.4 git reflog 用来查看你每次的操作历史记录.这样即使误操作,也可以恢复你想要的版本了 4.4 git撤销 场景...图片 每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长: 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把...branch 图片 git branch命令会列出所有分支,当前分支前面会标一个*号。
三、创建本地仓库 仓库:英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被git管理起来,每个文件的修改、删除,git都能记录,以便任何时刻都可以查找历史记录,或者在回滚到以前修改的状态...由于你的本地git仓库和git服务器仓库之间的传输是通过SSH加密的,需要设置: 创建SSH Key。在用户主目录下,看看有没有.ssh目录。...2、git log git log命令查看每次commit的历史记录。 git log 使用默认格式显示完整地commit记录,如果输出超过一屏,你可以用空格键来滚动,按q退出。...release分支在经历测试之后,测试确认验收,将会被合并的develop和master。 git branch 列出仓库中所有分支。...然后,运行git commit生成一个合并提交。 使用git log --graph命令可以看到分支合并图。 团队合作的分支看起来就像这样: ?
git log 查看日志 4.5.1 git status git status 命令用于查看文件状态 注意:由于工作区中文件状态的不同,执行 git status 命令后的输出也会不同...git commit -m msg 文件名 解释说明: -m:代表message,每次提交时需要设置,会记录到日志中 可以使用通配符*一次提交多个文件 4.5.5 git log git log...命令的作用是查看提交日志 通过git log命令查看日志,可以发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中 4.6 远程仓库操作 前面执行的命令操作都是针对的本地仓库...Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等)。...列出所有本地分支 git branch -r 列出所有远程分支 git branch -a 列出所有本地分支和远程分支 4.7.2 创建分支 创建分支命令格式:git branch 分支名称 4.7.3
主要作用: 历史记录和版本控制: 本地版本库保存了代码仓库的完整历史记录。每当使用git commit命令提交更改时,Git会为该提交创建一个新的版本,并将其永久保存在本地版本库中。...git diff 查看文件状态:使用git status命令可以查看工作目录中文件的状态,包括已修改、已暂存、未跟踪等状态。它会列出所有变更的文件以及它们所处的状态。...上传test2.py到暂存区 使用git status查看文件状态 逐行解释: 在main分支中 Changes to be committed:这一部分列出了即将被提交的修改。...modified指示被修改还未提交的文件; Changes not staged for commit:这一部分列出了未暂存的修改。在这里,test.py文件被修改但没有被添加到暂存区。...再修改一下readme.md,并查看多个文件的时候的状态; 修改未暂存: 修改并暂存: 提交到Git库中 使用git log查看版本库内的上传日志 可以看到提交了两次,以及每次提交的时候的基本信息
领取专属 10元无门槛券
手把手带您无忧上云