situation 用git checkout切换本地分支从b1到b2时, 如果b1的本地文件有修改, 会发生冲突。...(b1和b2不在一个commit id上) 设b1和b2都有123.txt这个文件(这2个branch下123.txt文件内容可相同可不相同); 当前在b1下, 修改了一行123.txt, 然后想git...实际的应用场景是这样:假设你有分支master和develop。master用来release版本,develop用来开发。master上release了版本1,然后develop继续开发。...如果你在develop上开发到一半的时候,release的版本1发现了bug。这个时候,你develop分支有未提交的修改,然后你需要切换到master上的版本1进行修复。...这个时候切换到master分支,肯定是不需要把develop分支上的修改带过去的。
2.4 登录GitHub,点击注册旁边的按钮,输入新注册的号,登录即可 2.5 如何将本地和远程仓库进行连接 1.linux本地生成公钥秘钥对,输入命令一直点击回车即可(邮箱地址可随便填写) `ssh-keygen...2.切换目录,用ls查看生成两个文件 `cd ~/.ssh` ? 3.使用cat 查看公钥文件 ? 4.打开GitHub,登录账号,找到设置 ? 5.然后输入秘钥,点击添加即可 ?...2.7 本地仓库和远程仓库建立连接 git remote add orign https://github.com/zhang159357/test.git 2.8 本地添加文件编辑修改,以及提交---...->忘记请查看第一节 如何使用Git(一) 2.9 提交后,push到远程仓库,此时会让输入GitHub的用户名称和密码 git push -u origin master 2.10 如何将远程仓库的代码同步到本地...git pull 2.11 如何将远程仓库克隆到本地 git clone https://github.com/zhang159357/test.git 2.12 如何将远程仓库指定分支的克隆到本地
本文将介绍Git的基本操作,包括初始化仓库、添加和提交文件、分支管理、合并与解决冲突等操作。图片2....添加和提交文件3.1 添加文件要将文件添加到Git仓库中进行版本管理,可以使用以下命令:git add 上述命令将指定的文件添加到Git的暂存区中,即将文件纳入版本控制范围。...3.2 提交文件完成文件的修改并准备提交时,可以使用以下命令提交文件:git commit -m "commit message"上述命令将提交暂存区中的文件,并创建一个新的提交记录。...提交记录包含了修改的文件和相关的提交信息。4. 分支管理4.1 创建分支分支是Git的重要概念,它允许在同一个仓库中同时进行不同的工作。...解决冲突在合并分支时,可能会出现冲突,即不同分支之间对同一部分代码进行了不同的修改。为了解决冲突,可以手动编辑冲突文件,并选择所需的更改。
《应龙》: v0.02 然后发现忘记写大名了,所以修改了一下,再提交 ?...---- 3.怎么回到V0.0.3版 突然想到那个SHA1的提交号应该不是吃干饭的,往上一翻,还在: $ git reset --hard cca5e1b9ea7e28dbc608f4191f1b0ea0f15e60e9...OK,这样就完成了一次简单的多人协作 ---- 6.冲突与解决 捷特此时改了一下本地文件,添加了创作日期,暂时没有提交 ?...龙少又改了一下:捷特也merge了,说明服务器仓库的文件已改变 ? 捷特将本地拉仓库的文件时和本地文件发生冲突,然后本地文件就成这样了: ?...1.主分支 每一次的提交相当于创建了一个节点,它有一个唯一的SHA1值来确定它的唯一 在一个git项目初始时,会默认创建分支master,如果你一直修改/提交,就会成为一条长线 ?
别忘记后边有个小点 提交(commit) -m后面是写提交注释信息的 在git中,每提交(commit)一次修改,都会被单独保存起来,每个commit记录了整个修改记录 修改记录log 使用git log...: 如果“修改01”已经提交了,但发现忘记了一个文件,怎么将这个文件补上去,并且还叫修改01 如果我们直接add和commit的话,这就不符合我们想要的结果 所以我们需要进行下面这种操作 git commit...git reflog 这个命令可以显示每一步提交或退回的变化 第一列是id,第二列是指针 我现在退回到创建第一个文件的时候,执行下面命令之后,此时文件夹只有一个a.py文件 哎~说好退回到未来的,我怎么退回来了...git checkout XXXX -- 文件名称 # 想要返回的那个commit对应的id号 如何将本地代码上传到github上进行管理呢?...最后上传 git主干和分支的讲解下篇文章整理,下期再见!
,除按照规则忽略的之外 2.2 将暂存区中的文件,提交到仓库中。...这个应该是使用 Git 做版本控制过程中,我使用最多的一个命令。 4. 查看仓库中的具体修改 很经常的,我们对某个文件做了修改,但过不久就忘记了。...回到未来的某个提交 当退回到某个提交的版本以后,再通过git log是无法显示在这之后的提交信息的。但是,通过git reflog可以获取到操作命令的历史。...因此,想要回到未来的某个提交,先通过git reflog从历史命令中找到想要回到的提交版本的 ID,然后通过git reset --hard来切换。...如果文件已经被提交,则需要 git rm 来删除: git rm Readme.md // 删除已经被提交过的 Readme.md 0x03 分支管理 分支是版本控制系统中很重要的一个概念,在 Git
编辑完成,你可以提交,提交之前,你可以写一段简短或者详细的说明。点击绿色的commit changes就可以提交更改了。当然,你也可以选择为这条更改创建一条分支。...然后呢,我们增加一个文件! ? 到这里,我们的准备工作都结束,下面演示,本地如何将自己的新内容更新到gihub。...使用命令: git checkou -b filelist 创建并切换到新的分支。 filelist分支,增加一个新文件,里面是此目录下的文件列表。...接下来,等待另一边的回复吧。现在我们再回到另个演示账号看看吧。 一般来讲是有提示消息的,如果没有提示消息,可以使用链接。只要accept就行了。 ? 现在你就拥有访问权限了 ? 在回到另一个账号。...答:因为演示的时候有时候会脑子抽筋,比如忘记提交就推送之类的…… 2. 问:为什么你的仓库名是一个减号? 答:本来我取了一个很好的中文名,但是git说了算。 3.
老高最近的项目用到了git的submodule,期间遇到了很多坑,比如: 如何更新submodule 如何修改并提交submodule 如何将submodule的变更在父项目中提交 在弄明白这些问题之前...submodule 这里分两种情况,一个是本人直接在子项目修改并提交,另一种是别人的git仓库被修改 第一种情况 其实我们只需要注意一点,就是子模块的分支出于游离状态,我们在修改他的时候第一步需要执行检出对应的分支即可...# 首先,我们进入子模块 cd xx/xx/sub # 检出master分支 git checkout master # 然后做修改 vim some-file.py # 最后做提交 git add...# 首先检出master分支 git checkout master # 然后拉取更新 git pull # 回到父项目中更新 cd ../../ git add xx/xx/xx git commit...-m "update submodule" 如何将submodule的变更在父项目中提交 子模块被提交后父项目会检测到,正常提交即可!
前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https:/...) 当你忘记是否已把代码文件添加到暂存区或者是否提交到本地仓库,都可以用git status看看哦~ ?...> 一列表方式查看指定文件的提交历史 嘻嘻,看看dev分支上的提交历史吧~要回滚代码就经常用它喵喵提交历史~ ?...终止本次merge,并回到merge前的状态 比如,你开发完需求后,发版需要把代码合到主干master分支,如下: ?...再看另外一个粟子吧,代码已经git commit了,但是还没有push: git log 获取到想要回退的commit_id git reset --hard commit_id 想回到过去,回到过去的
最好的办法当然是使用git commit把改动提交了。但问题是有的时候我们不想提交一些代码,比如还没有经过严谨的测试,或者是我们临时开发的一些测试功能等等。...在这种情况下commit也是不合适的,即使提交了了,之后在push之前也会要把commit撤销了。但如果一不小心忘记了,可能就会造成悲剧。 针对这个问题,git提供了一个解决策略就是stash功能。...接着我们执行git stash,会发现我们的git目录又回到了没有改动的状态。再执行git diff也看不到任何改动了。 ?...另外就是当我们应用储藏的时候,会发现我们之前add过的文件又重新回到了未暂存的状态。如果我们想要重新回到文件被暂存的状态时,我们可以使用index选项来执行。...这个时候我们可以运行git stash branch新建一个新的分支,在这个分支上应用我们的提交。
上篇文章重点介绍了分支的操作,包括创建分支、合并分支和冲突的解决。这样,关于本地库的基本操作就讲解完了,本篇文章将对本地库与远程库之间的交互作一个讲解。...在TestGitHub文件夹内启动Git终端,先初始化仓库,然后提交一下内容: 这里有一个地方前面忘了说了,顺便提一提,当工作区的文件特别多的时候,采用git add [文件名]的方式显然太麻烦了...这样就表示推送成功了,我们回到GitHub页面,刷新一下网址: 当提交操作特别频繁的时候,经常粘贴远程库地址显然又费力又容易出错,为此,Git提供了一个方式,可以给远程库地址起一个别名。...如何将远程库克隆到本地 学会了如何键本地库推送到远程库,我们还需要掌握如何将远程库克隆下来,重新创建一个文件夹,作为另外一个工作区(名字为TestGitHub_2): 此时我们在该文件夹下启动Git终端...此时程序员A若想得到程序员B修改的代码,就需要从远程库进行拉取代码。 首先我们需要回到程序员A的工作区,即:TestGitHub文件夹。
上篇文章重点介绍了分支的操作,包括创建分支、合并分支和冲突的解决。这样,关于本地库的基本操作就讲解完了,本篇文章将对本地库与远程库之间的交互作一个讲解。...这样就表示推送成功了,我们回到GitHub页面,刷新一下网址: ? 当提交操作特别频繁的时候,经常粘贴远程库地址显然又费力又容易出错,为此,Git提供了一个方式,可以给远程库地址起一个别名。...如何将远程库克隆到本地 学会了如何键本地库推送到远程库,我们还需要掌握如何将远程库克隆下来,重新创建一个文件夹,作为另外一个工作区(名字为TestGitHub_2): 此时我们在该文件夹下启动Git终端...此时程序员A若想得到程序员B修改的代码,就需要从远程库进行拉取代码。 首先我们需要回到程序员A的工作区,即:TestGitHub文件夹。...克隆下来以后,我们在程序员C的工作区创建一个pay.txt文件: ? 然后提交该操作: ?
8.接着继续输入命令 cd Test,进入Test文件夹?9.接下来依次输入以下代码即可完成其他剩余操作:git add * (注:别忘记后面的....5、为了不必要麻烦,还是不要设置密码,因为容易忘记,不输入密码,回车,如下图所示:?6、确认密码不输入,回车,如图所示:? 出现上图结果,表明创建key成功!...第五步:回到之前的github界面,下面几个指令告诉你如何将代码上传git initgit add README.mdgit commit -m "first commit"git remote add...29 30 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 31 32 git revert HEAD # 恢复最后一次提交的状态 33 34 查看文件diff...# 创建新的分支 88 89 git br -v # 查看各个分支最后提交信息 90 91 git br --merged # 查看已经被合并到当前分支的分支 92 93 git br --no-merged
#将所有文件提交到暂存区 $ git add *.后缀 #将以该后缀结尾的文件提交到暂存区 $ git add subfolder/ #将全部子文件夹提交到暂存区 将已经提交到暂存区的某个文件取消提交操作...git 管理中 如果忘记添加某些内容,不想创建一个新的 commit,则可以使用 amend 命令。...若只提交删除某一个文件的操作,可以使用 reset 将其他文件拉回 unstaged 状态。...状态的文件进行提交。...然后你可以创建一了 temp 分支,修改完 bug 之后提交并合并到 dev 分支上,解决冲突之后就可以删除 temp 分支,并利用 stash 切回到自己的主线任务中去了。
当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照;之后,你可以利用 Git 返回到你的项目的一个早期版本。...如果你愿意,你也可以通过如下安排把 af67f82 和 0835fe2 合并到一起: 修复更早期的 commit 场景: 你在一个更早期的 commit 里忘记了加入一个文件,如果更早的 commit...能包含这个忘记的文件就太棒了。...一旦有个文件被加入并提交了,Git 就会持续关注该文件的改变。类似地,如果你利用 git add -f 来强制或覆盖了 .gitignore, Git 还会持续追踪改变的情况。...因为现在它已经被忽略了,你在 git status 里就不会再看见这个文件,也不会再偶然提交该文件的修改了。
你可能正在开发一项新功能,由于太仓促,你忘记为它打开一个新的分支。...这时候已经提交了大量文件,而且这些提交都位于主分支上。 现在我们需要使用以下三个命令将所有这些更改回滚到新分支: 注意:确保先提交或存储更改,否则一切都将丢失!...忘了将文件添加到最后一次提交 另一个常见的 Git 陷阱是过早提交。你可能错过了一个文件,忘了保存它,或者需要对最后一次提交做一个小改动。这时候 --amend 再次成为你的朋友。...将错误的文件添加到仓库 但是如果你做的恰恰相反呢?如果您添加了一个不想提交的文件,该怎么办?一个流氓ENV文件,一个构建目录,一个你不小心保存到错误文件夹的狗的图片?这一切都是可以解决的。...git reflog 显示了您已完成的所有事情的列表。然后它允许你使用Git的神奇时间旅行技能回到过去的任何一点。但是你不应该轻易使用。
很尬尴,忘记退出账号。我这里使用的是别人的GIT bash 账号上传到了我自己的github 上。...注:首次提交,先git pull下,修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件。...大功告成,现在你知道如何将本地的项目提交到github上了。...$id git co -- # 抛弃工作区修改 git co . # 抛弃工作区修改 git add # 将工作文件修改提交到本地暂存区 git add . # 将所有修改过的工作文件提交暂存区...git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 git revert HEAD # 恢复最后一次提交的状态 查看文件diff git diff
上篇文章重点介绍了分支的操作,包括创建分支、合并分支和冲突的解决。这样,关于本地库的基本操作就讲解完了,本篇文章将对本地库与远程库之间的交互作一个讲解。...在TestGitHub文件夹内启动Git终端,先初始化仓库,然后提交一下内容: [在这里插入图片描述] 这里有一个地方前面忘了说了,顺便提一提,当工作区的文件特别多的时候,采用git add 文件名的方式显然太麻烦了...[在这里插入图片描述] [在这里插入图片描述] 这样就表示推送成功了,我们回到GitHub页面,刷新一下网址: [在这里插入图片描述] 当提交操作特别频繁的时候,经常粘贴远程库地址显然又费力又容易出错,...如何将远程库克隆到本地 学会了如何键本地库推送到远程库,我们还需要掌握如何将远程库克隆下来,重新创建一个文件夹,作为另外一个工作区(名字为TestGitHub_2): 此时我们在该文件夹下启动Git终端...此时程序员A若想得到程序员B修改的代码,就需要从远程库进行拉取代码。 首先我们需要回到程序员A的工作区,即:TestGitHub文件夹。
--hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重。...我们可以使用 git checkout -- [file] 命令让⼯作区的文件回到最近⼀次 add 或 commit 时的状态。...,要么保留 master 分支上的内容,要么保留 dev1 分支上的内容;再次提交很重要,切勿忘记,如下: 到这里冲突就解决完成,此时的状态变成了下图: 用带参数的 git log 也可以看到分支的合并情况...,所以我们加上后添加并提交: 然后再切换回 master 分支进行合并,最后删除 fix_bug 分支: 此时,bug 的修复⼯作已经做完了,我们还要继续回到 dev 分支进行开发。...向远程仓库推送 本地已经 clone 成功远程仓库后,我们便可以向仓库中提交内容,例如新增一些文件后提交上去: 到这里我们已经将内容提交至本地仓库中,如何将本地仓库的内容推送至远程仓库呢,需要使用 git
领取专属 10元无门槛券
手把手带您无忧上云