最近有个项目比较乱,新功能没有做完,develop 分支不能合并到主干,又有新的需求需要修改,但是 master 主干分支的代码又不够新。...只能从 develop 分支的某一次提交上拉取代码,到本地分支,然后进行修改,再提交合并到 master 分支。...Git 拉取某一次提交的代码版本到本地分支: git checkout -b 分之名 远程仓库的commitId 示例: git checkout -b w3h5 af161ecbd13eff1630c14f84a7395d46f5d18888...如果你是第一次参与这个项目,操作步骤如下: 首先克隆分支,将代码拉下来: git clone https://github.com/ideshun/project.git 然后进行代码版本的拉取: git...GitLab ,可以直接 复制提交 SHA 到剪切板。
,只显示sha-1码和提交信息; 命令git reflog –number: 表示查看所有分支前number个简化的提交历史记录; 命令git reflog –number –pretty=oneline...简单来说:git fetch branch是把名为branch的远程分支拉取到本地;而git pull branch是在fetch的基础上,把branch分支与当前分支进行merge;因此pull =...会把branch分支优先合并到主分支,然后把本地分支的commit放到主分支后面,合并后的分支就好像从合并后主分支又拉了一个分支一样,本地分支本身不会保留提交历史。...请注意永远不要在 master 分支上直接开发和提交代码,以确保 master 上的代码一直可用; – develop分支;用作平时开发的主分支,并一直存在,永远是功能最新最全的分支,包含所有要发布...所有的 feature、release 分支都是从 develop 分支上拉的。
将本地的提交推送到远程仓库,更新远程仓库的分支和提交历史。 pull:从远程仓库拉取最新更改(相当于fetch + merge)。...它会将当前分支的 HEAD 指针指向指定的提交,并将之前的修改内容从工作目录、暂存区和 Git 历史记录中全部移除。 执行这个命令后,之前的修改将无法恢复。...切换到远程分支 对于一个远程分支,你可能需要先将其拉取到本地,然后再切换到该分支。...在远程仓库中也可以查看到我们的提交了: 拉取远程仓库 从远程仓库中获取最新的代码更新是很重要的,就像从云盘上下载最新的文件到你的电脑一样。...拉取远程分支:要将远程仓库的特定分支拉取到本地仓库,可以使用以下命令: git checkout -t origin/ 这将创建一个与远程仓库中的分支相对应的本地分支
本地仓库:存储所有版本代码 工作区:编辑代码区 暂存区:准备提交的代码都放这里 远程仓库:用于团队之间共享代码 分支:多个版本同时开发,master 主分支,develop 开发分支,test 测试分支...查看提交历史记录 需要查看自己做过哪些提交,来回顾自己完成的部分;或者需要寻找某个具体的提交来查看当时的代码: # 显示所有提交的历史记录 git log # 单行显示提交历史记录的内容 git log...分支管理 几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着可以把工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线。...推送之前,需要先 pull 远端仓库,如果发现提交版本不一致,会出现错误 从远程仓库获取最新内容 在多人协作过程中,当自己完成了本地仓库中的提交,想要向远程仓库推送前,需要先获取到远程仓库的最新内容。...Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
git pull “将服务器上的最新代码拉取到本地 git pull origin daily/0.0.1 如果其它项目成员对项目做了改动并推送到服务器,我们需要将最新的改动更新到本地,这里我们来模拟一下这种情况...进入Github网站的项目首页,再进入 daily/0.0.1 分支,在线对 README.md 文件做一些修改并保存,然后在命令中执行以上命令,它将把刚才在线修改的部分拉取到本地,用编辑器打开 README.md...为我们自动创建的第一个分支,也叫主分支,其它分支开发完成后都要合并到 master 标签(Tag) 标签是用于标记特定的点或提交的历史,通常会用来标记发布版本的名称或版本号(如:publish/0.0.1...这个命令会创建一个全新的,完全没有历史记录的新分支,但当前源分支上所有的最新文件都还在,真是强迫症患者的福音,但这个新分支必须做一次 git commit操作后才会真正成为一个新分支。...-10 显示最近10条历史记录 git log f5f630a..HEAD 显示从提交ID f5f630a 到 HEAD 之间的记录,HEAD 可以为空或其它提交ID git log --pretty
git pull “将服务器上的最新代码拉取到本地 git pull origin daily/0.0.1 如果其它项目成员对项目做了改动并推送到服务器,我们需要将最新的改动更新到本地,这里我们来模拟一下这种情况...进入Github网站的项目首页,再进入 daily/0.0.1 分支,在线对 README.md 文件做一些修改并保存,然后在命令中执行以上命令,它将把刚才在线修改的部分拉取到本地,用编辑器打开 README.md...为我们自动创建的第一个分支,也叫主分支,其它分支开发完成后都要合并到 master 标签(Tag) 标签是用于标记特定的点或提交的历史,通常会用来标记发布版本的名称或版本号(如:publish/0.0.1...这个命令会创建一个全新的,完全没有历史记录的新分支,但当前源分支上所有的最新文件都还在,真是强迫症患者的福音,但这个新分支必须做一次 git commit 操作后才会真正成为一个新分支。...-10 显示最近10条历史记录 git log f5f630a..HEAD 显示从提交ID f5f630a 到 HEAD 之间的记录,HEAD 可以为空或其它提交ID git log --pretty
git pull 将服务器上的最新代码拉取到本地 git pull origin daily/0.0.1 如果其它项目成员对项目做了改动并推送到服务器,我们需要将最新的改动更新到本地,这里我们来模拟一下这种情况...进入Github网站的项目首页,再进入 daily/0.0.1 分支,在线对 README.md 文件做一些修改并保存,然后在命令中执行以上命令,它将把刚才在线修改的部分拉取到本地,用编辑器打开 README.md...主分支(Master) 前面提到过 master 是 Git 为我们自动创建的第一个分支,也叫主分支,其它分支开发完成后都要合并到 master ?...,完全没有历史记录的新分支,但当前源分支上所有的最新文件都还在,真是强迫症患者的福音,但这个新分支必须做一次 git commit 操作后才会真正成为一个新分支。...-10 显示最近10条历史记录 git log f5f630a..HEAD 显示从提交ID f5f630a 到 HEAD 之间的记录,HEAD 可以为空或其它提交ID git log --pretty
· git pull 用于将远程仓库的更改拉取到本地。具体来说,它是先执行git fetch来获取远程仓库的最新状态,然后执行git merge将这些更改合并到当前分支。...在:之前的部分是本地引用,之后的部分是远程引用,如果之前的部分为空,那么就表示删除远程的引用。 其他操作 查看提交记录 git log 显示所有的提交历史记录。每个提交都会显示作者、日期和提交消息。...· git log branchname 显示指定分支的所有提交历史记录。 · git log -n 显示最近n次的提交。n是你想查看的提交数量。...· git log --graph 分支名(多个分支名以空格隔开) 以图形形式显示一个或多个分支的所有提交历史记录。...· git log --graph --all 以图形形式显示所有分支的所有提交历史记录。 · git log --author= 显示指定作者的所有提交历史记录。
1. git commit —— 提交代码并创建一个新的版本。 1. git push —— 将本地的代码推送到远程Git仓库。 1. git pull —— 从远程Git仓库中拉取代码更新。...合并与解决冲突 将分支合并到主分支或其他分支,并解决可能出现的冲突。 1. 追溯历史记录 查看Git仓库的历史记录以及如何使用Git命令回退到早期的版本。 1....2.查看历史记录命令 下面是一些常见的查看Git历史记录的命令: 查看提交日志 git log # 查看所有提交记录 查看指定文件的提交历史记录 git log file.py # 查看file.py文件的提交历史记录...4.追溯历史记录示例代码 下面的代码展示了如何在Git中查看历史记录并回退到早期版本: # 查看所有提交记录 $ git log # 查看file.py文件的提交历史记录 $ git log file.py...$ git remote -v # 将本地master分支的修改推送到名为origin的远程仓库 $ git push origin master # 从名为origin的远程仓库拉取master
是拉取的意思,git fetch只将远端仓库数据拉取到本地仓库,主要是 将远程仓库所包含分支的最新commit-id记录到本地文件。...比如,远端的数据比本地多两个版本,fetch会将最新版本的版本ID写到本地仓库,但是,远端的文件修改并没有拉取到工作区(workspace),它只是拉取最近提交的信息出来,通过这个可以让我们知道本地比远端落后几个版本...拉取合并:git pull直接将数据拉取到工作区(workspace)。它主要由两部分构成:git fetch:先拉取,看一下本地仓库落后多少个版本信息。git merge :将数据拉取到工作区。...git log --merges查看特定分支的提交历史:git log branch1..branch2显示从 branch1 到 branch2 的提交记录,即 branch2 上而不在 branch1...基本语法:git reflog [options]这将显示 HEAD 的所有历史记录,包括提交、重置、合并等操作。输出内容包括操作编号(reflog index)、提交哈希、操作类型和消息。
提交记录查看 git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者、提交日期、和提交说明 如果记录过多,则按Page Up、Page Down、↓、↑来控制显示...git merge --squash branchname // 可以帮我们将开发分支上的所有内容合并成一次提交到主分支 rebase rebase 将当前分支移植到指定分支或指定 commit 之上...rebase 会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交 主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交 git...3. git 分支管理 master:主分支,永远是可用的、稳定的、可直接发布的版本,不能直接在该分支上开发 develop:开发主分支,代码永远是最新,所有新功能以这个分支来创建自己的开发分支,该分支只做只合并操作...// 空一行 // 空一行 分别对应 Commit message 的三个部分:Header,Body 和 Footer。
这种合并方式会创建一个新的提交,它包含了被合并的分支的所有更改。这样就可以将两个不同的分支中的代码变更合并到一起。...rebase 命令的作用是将当前分支的提交移动到另一个分支的最新提交之后,相当于重新应用一遍当前分支的所有提交。这种合并方式会使得提交历史变得更加线性,因为提交会被“重放”在新的基础分支上。...3.处理冲突的方式不同在合并分支时,可能会遇到代码冲突,需要手动解决冲突。使用 merge 命令合并分支时,Git 会自动创建一个合并提交,其中包含两个分支的所有更改。...克隆(Cloning):从远程仓库复制代码库到本地。拉取(Pull):从远程仓库拉取最新的代码并合并到本地。推送(Push):将本地的提交推送到远程仓库。...拉取请求(Pull Requests):在分布式开发环境中,用于请求将你的更改合并到主分支。分支策略:Git 支持多种分支策略,如 Git Flow、GitHub Flow 等。
develop # 创建一个空的分支, 不继承父分支,历史记录是空的,一般至少需要执行4步 git checkout --orphan develop git rm -rf...拉取远程分支最新内容 默认情况下拉取当前分支 # 如果出现冲突会自动合并 git pull 拉取指定分支 # 远程分支名:本地分支名 git pull origin master:master # 如果某个远程分支拉取并合并到当前分支后面可以省略...子模块可以不建立版本分支管理代码, 因为它是依赖主应用,所以建立版本分支可以从主应用去操作,那么一旦建立新的版本分支当前的所有内容都会被锁定在这个分支上,不管子模块仓库怎么修改。...git subtree 劣势: 命令过于复杂, 推送拉取都很麻烦 虽然用于替代子模块, 但使用率并没有子模块广泛 子仓库和主仓库混合在一起, 历史记录相当于有2个仓库的记录 git subtree 命令用法...添加子仓库 --prefix 指定将子仓库存储位置 main 是分支名称 --squash 通常做法是不将子仓库整个历史记录存储在主仓库中,如果需要的话可以忽略整个参数 添加子仓库后, 会跟普通文件一样看待
,因此不能删掉仓库重建一份,而要创建一个空分支,把旧分支给嘎掉!...git checkout --orphan new 这个命令会创建一个孤儿分支new,然后推送到云端,这个orphan分支没有历史包袱,所以用它来替换掉原来的历史沉重主分支main。...先要保证登录账户是admin模式,拥有所有读写权限。 然后去网页上将new分支设置为默认分支,取代main分支的地位。...以上步骤全部完成之后,最好删除本地的仓库,重新clone一份,彻底清除本地的历史,否则可能会拉取失败,反正新分支也很小,无所谓。至此之后,新的commit提交都从1开始计数啦。...最后总结一下清除git历史记录的7个步骤: 登录管理员账户 git checkout --orphan new git push 设置默认分支为new 删除原来的main分支 new重命名为main git
develop # 创建一个空的分支, 不继承父分支,历史记录是空的,一般至少需要执行4步 git checkout --orphan develop git rm -rf...-m "message" # 提交并显示diff变化 git commit -v # 允许提交空消息,通常必须指定 -m 参数 git commit --allow-empty-message...> # 强制推送, --force 缩写 git push -f 拉取 拉取远程分支最新内容 # 如果出现冲突会自动合并 git pull 拉取指定分支 # 远程分支名:本地分支名 git pull...origin master:master # 如果某个远程分支拉取并合并到当前分支后面可以省略 git pull origin master 拉取指定工作目录 # 默认情况下拉取会在当前工作目录中,但如果想拉取指定工作目录...子模块可以不建立版本分支管理代码, 因为它是依赖主应用,所以建立版本分支可以从主应用去操作,那么一旦建立新的版本分支当前的所有内容都会被锁定在这个分支上,不管子模块仓库怎么修改。
仓库(Repository):Git使用仓库来存储项目的所有文件和版本历史记录。可以将仓库视为一个项目的文件夹。 2. 提交(Commit):提交是将文件的变化记录到Git仓库中的操作。...可以在分支上进行独立的开发工作,最后将分支合并到主分支上。分支的使用可以有效地管理多个开发任务并防止代码冲突。 4....主分支(Master):主分支是Git中默认的分支,它通常用于生产环境中的稳定代码。 5. 远程仓库(Remote Repository):远程仓库是存储在云端或其他计算机上的Git仓库。...克隆(Clone):克隆是从远程仓库中复制整个仓库到本地的操作。克隆后可以在本地进行修改和提交,然后将变化推送到远程仓库。 7. 拉取(Pull):拉取是从远程仓库获取最新代码的操作。...合并(Merge):合并是将一个分支的修改合并到另一个分支的操作。当一个分支开发完毕后,可以将其合并到主分支上。 10. 冲突(Conflict):当Git无法自动合并两个不同的修改时,就会发生冲突。
查看提交历史记录 有的时候,你会需要查看自己做过哪些提交,来回顾自己完成的部分。或者需要寻找某个具体的提交来查看当时的代码。...这里需要用到: git log // 显示所有提交的历史记录 git log --pretty=oneline // 单行显示提交历史记录的内容 在git log的输出内容中,可以看到每次提交的...回到未来的某个提交 当退回到某个提交的版本以后,再通过git log是无法显示在这之后的提交信息的。但是,通过git reflog可以获取到操作命令的历史。...分钟中的修改合并回 master 分支 合并回主分支的时候,后面可能会面临到冲突的问题。...从远程仓库获取最新内容 在多人协作过程中,当自己完成了本地仓库中的提交,想要向远程仓库推送前,需要先获取到远程仓库的最新内容。 可以通过git fetch和git pull来获取远程仓库的内容。
领取专属 10元无门槛券
手把手带您无忧上云