使用 git branch -a 可以查看本地分支和远程分支情况 ? 但远程分支(红色部分)删除后,发现本地并没有同步过来。 一....同步本地的远程分支 查看本地分支和追踪情况: git remote show origin ?...可以发现红框中的分支是远程分支已被删除的分支,根据提示可以使用 git remote prune 来同步删除这些分支。 运行命令: git remote prune origin ?...再次查看分支情况: ? 发现红色部分的远程分支已经同步,远程删除的分支,本地也已经不见了。 二. 删除本地多余分支 git branch -D feature/chatfix ? 本地多余分支已删除
前几篇博客陆陆续续的讲了好多关于Git操作的内容, 其中在上篇博客聊了《Git中的merge、rebase、cherry-pick以及交互式rebase》,本篇博客仍然也不例外,不过本篇博客的主题是关于...git的远程操作的。...依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探究一下Git的远程操作。今天这篇博客算是Git系列博客的结尾了。...下方的操作也是比较简单的,就是将上一部分的merge操作换成了rebase操作,不过在执行rebase操作时要区分好一个分支变基到那个分支上。...接下来要做的事情是在创建分支就给我们创建的新的分支指定一个追踪的远程分支,这样就可在我们创建的新分支上来pull远端分支中的内容了。
当某一分支(假设为main)的本地修改和远程仓库不一致时,执行git push origin main会提示先要执行git pull合并远程代码。...如果此时我们按照提示信息执行:git pull origin main,可能会发生2件事情: (1)代码冲突,这个不一定会出现,如果本地修改跟远程仓库中的修改不在一个文件中,就不会出现冲突 (2)在本地解决冲突...testversion into main 分支历史看起来也有点乱: 为了避免出现合并日志不友好和分支历史不整洁的问题,在执行git pull时使用-r选项,即:git pull origin main...执行git pull origin main -r时与在本地执行git rebase的效果是一样的,解决好冲突之后需要执行git rebase --continue,这样就可以保持提交日志的可读性,也可以使得分支历史干净...2.合并远程分支时使用“-r”选项(git pull origin 分支名称 -r),保持提交日志的可读性和分支历史的简洁性。
最近因为公司项目的需要在研究学习git,碰到个问题,我将远程分支直接删除了,在本地并有删除于是我用 git branch -a 还可以可以看到远程存在此分支。...remotes/origin/newcarapi-test remotes/origin/test remotes/origin/newcarapi-test (其实是已经删除的,...但是还是存在) 使用 git remote show origin 查看remote地址,远程分支,还有本地分支与之相对应关系等信息。.../product_library/newcar-api * [pruned] origin/newcarapi-test 执行完命令后在次用 git branch -a 查看,可以看到已经被删除...(git branch -r 只查看远程的分子) $ git branch -a master * test remotes/origin/HEAD -> origin/master
在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 结果造成本地(远程)的分支或某些...commit丢失 可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除 一般情况下,gc对那些无用的object会保留很长时间后才清除的...通过git branch recover_branch[新分支] commit_id 来建立一个新的分支 这样,我们就把丢失的东西给恢复到了recover_branch分支上了。...Q:如果是不小心执行了git reset,还有办法取消吗?...Q:怎样找回历史版本中删除的文件?
然而,有时候会发生意外,例如代码误合、错误的删除等情况,导致重要的开发分支本地和远程不慎被删除。本文将为您介绍如何使用 Git 命令行在 GitLab 中恢复已删除的分支,帮助您快速解决这类问题。...运行以下命令查看分支的 Reflog: git reflog _20230722194119.png 在输出中,您将看到提交号(commit hash)以及删除分支之前的引用号。...第二步 恢复分支 现在,您已经有了删除分支之前的引用号,可以使用以下命令在本地仓库中恢复分支: git checkout -b dev_xj d9244f1 dev_xj:你的分支名,可以和之前删除的一样...days git commit -m "message" 描述建议 可以看到我们在恢复的过程中是根据提交message来找到,当我们开发的时候分支较多并且有bug修改的分支时我们不好定位提交号,我们示例中的...Git 提供了强大的版本控制功能,让开发团队能够高效协作。但当意外发生时,我们也有方法来解决问题。通过本文介绍的 Git 命令行恢复方法,您可以轻松地在 GitLab 中恢复已删除的分支。
文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 之前已经执行 git push origin --delete feature1 命令 , 删除了 feature1 远程分支 , 删除操作成功..., 远程仓库中 , 只剩下 master 主分支 ; 远程仓库分支如下图 : 执行 git branch 进行本地版本库分支查询 , 本地只有 master 分支 ; 然后再执行 gir branch...-a 查询远程分支 , 发现仍然能查询到 remotes/origin/feature1 远程分支 ; D:\Git\git-learning-course>git branch -a * master...git push origin --delete feature1 命令 , 是无用的 , 只会提示错误信息 ; 二、解决方案 ---- 执行 git remote show origin 命令 ,...可以列出在本地分支中对应的远程分支 , 也就是本地分支执行 git push 命令 , 代码会被推送到哪个远程分支 ; D:\Git\git-learning-course>git remote show
考核内容: 版本管理 题发散度: ★★ 试题难度: ★★ 看看大家的选择 解题: Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。...Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。...新版的 Git: git-scm.com/downloads 最有代表性的就是:github.com 已经成为全球开源代码托管平台。...分支使你可以在不影响master分支的情况下处理代码的单独副本。 首次创建分支时,将以新名称创建master分支的完整克隆。 然后,你可以独立地在此新分支中修改代码,包括提交文件等。...一旦你的新功能已完全集成并且代码稳定,就可以将其合并到master分支中! 在线测试: 答案: A. git branch -d branch_name
相关命令: # 遍历本地仓库中的所有分支,如果该分支在远程仓库中不存在,则在远程仓库中创建该分支 # 遍历远程仓库中的所有分支,如果该分支在本地仓库中不存在,则在远程仓库中删除该分支 git push...--all --prune # 遍历远程仓库中的所有分支,如果该分支在本地仓库中没有对应的远程追踪分支,则在本地仓库中创建该分支 # 遍历本地仓库中的所有远程追踪分支,如果该分支在远程仓库中没有对应的分支...b3分支,所以 git push --all --prune 命令删除了远程仓库中的b3分支,又因为本地仓库中新建了b1和b2分支,所以该命令在远程仓库中也创建了这两个分支。...现在我们再切换到repo2,执行下面的命令: $ git branch b3 origin/b3 # 创建远程追踪分支origin/b3的本地分支b3 Branch 'b3' set up to track...b3分支被删除,并且又创建了b1和b2分支,所以 git fetch --prune 命令删除了本地仓库中的远程追踪分支 origin/b3(但没有删除其本地分支b3),并创建了远程追踪分支 origin
选择对应分支 git checkout -b 分支名> 2....删除git的.idea文件 git rm --cached -r .idea # 如果没有git忽略文件的话,操作: ①配置.gitignore文件(新建/编辑) echo '.idea' >> .gitignore...②将.gitignore文件上传到远程仓库 git pull git add .gitignore git commit -m 'edit .gitignore' git push origin master...3.同步到远程仓库 git commit -m 'delete .idea' git push 分支名> (adsbygoogle = window.adsbygoogle || []).
git 中关于撤销以及删除文件的不同场景 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时...当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。...命令后加入参数–allow-unrelated-histories git push 推送到远程仓库 当你想分享你的代码时,可以将其推送到远程仓库。...此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决 git branch -d [branch name] 删除分支 $ git branch -d dev Deleted...,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D 注:如果要删除远程仓库中的分支,可以使用命令git push origin –d branchName $
下面我们可以举一个通俗易懂的例子: 比如当你在本地写好某一个编程文档时,发现有些地方需要修改或者删除,有的人可能会直接在当前文件中直接修改,有的人会复制一份在上面修改,然后删除没用的文件。...当你需要哪个版本时,只要在版本库中恢复一下就可以了。...可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。...执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。 如果你的当前分支设置了跟踪远程分支, 那么可以用 git pull 命令来自动抓取后合并该远程分支到当前分支。...运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。 $ git pull 推送到远程仓库 当你想分享你的项目时,必须将其推送到上游。
,因为根据具体情况可以使用以下选项:删除或修复新提交中的错误文件,并将其推送到远程存储库。...当你执行 git fetch 时,它会从所需的分支中提取所有新提交,并将其存储在本地存储库中的新分支中。如果要在目标分支中反映这些更改,必须在 git fetch 之后执行git merge。...当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。...当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。...当执行 git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。当执行 git checkout .
当你需要查看一个之前的快照(称之为“版本” )时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。...当你执行git clone 命令的时候,默认配置下远程Git仓库中的每一个文件的每一个版本都将被拉取下来。...Git远程仓库_推送、抓送和拉取 Git远程仓库_推送 当你想分享你的代码时,可以将其推送到远程仓库。...从远程仓库中抓取与拉取 语法结构: git pull 注意: git pull是从远程仓库获取最新版本到本地仓库,会自动merge 多人协作冲突问题 为什么会出现冲突问题 不同分支下的合并 同一个分支下的...虽然Git这么贴心的提醒了,但这里仍然把它删除了 git branch -D cat Deleted branch cat(was b1729234) 上面不是已经删除cat分支了吗,怎么还在?
1.前置篇 1.1 为什么要版本控制 我们在软件开发过程中,可能会出现以下这些场景: 1.代码可能被别人或自己不小心覆盖或遗失、也不知道是谁因为什么原因改了这段代码、也没办法可以复原回前几天的修改...已跟踪:工作目录的文件是已经被纳入了版本控制 未跟踪:工作目录中除已跟踪文件外的其它所有文件都属于未跟踪文件 编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。...在工作时,你可以选择性地将这些修改过的文件放入暂存区,然后提交所有已暂存的修改,如此反复。...场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。...我们改变文件如下: 这时再执行命令 Git add .
#(1)已修改,未暂存:只是在编辑器里修改了文件,但还没有执行git add . #一对反义词 git add .的反义词是git checkout .。...#或者 git reset --hard # 如果你想向前走一步,让修改进入暂存区,就执行git add . # 如果你想向后退一步,撤销刚才的修改,就执行git checkout . #(2)已暂存...,但还没有执行git commit -m "comment" git reset #只是把修改退回到了git add .之前的状态,也就是说文件本身还处于已修改未暂存状态,你如果想退回未修改状态,还需要执行...$ git branch -D feature-vulcan #强行删除 0x03 远程分支关联 多人协作分支 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了...当你的小伙伴从远程库clone时,默认情况下你的小伙伴只能看到本地的master分支。
工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。...请记住,提交时记录的是放在暂存区域的快照。 任何还未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。 每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较 。...推送 当你想要公开分享一个分支时,需要将其推送到有写入权限的远程仓库上。 本地的分支并不会自动与远程仓库同步 - 你必须显式地推送想要分享的分支。...只对尚未推送或分享给别人的本地修改执行变基操作清理历史,从不对已推送至别处的提交执行变基操作。...我们也会将这个概念引用为 Git 的 “暂存区域”,这就是当你运行 git commit 时 Git 看起来的样子。
,因为根据具体情况可以使用以下选项: 删除或修复新提交中的错误文件,并将其推送到远程存储库。...当你执行 git fetch 时,它会从所需的分 支中提取所有新提交,并将其存储在本地存储库中的新分支中。...当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做 相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。...当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替 换,但是工作区不受影响。...当执行 git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。 当执行 git checkout .
7 撤销修改 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file; 当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令...如果在工作区中误删除了文件,版本库仍然存在该文件,所以可以使用git checkout版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。...9.1 添加远程库 如何使本地的Git仓库和Github中的Git仓库远程同步?...下一步就可把本地库的所有内容推送到远程库上: git push -u origin master 第一次推送时会出现警告,根据提示输入yes回车即可。...由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,
领取专属 10元无门槛券
手把手带您无忧上云