Git 不要只会 pull 和 push 哈

Git原理杂谈之pull/push命令 这边文章是基于之前三篇文章的后续篇,之前三篇能够帮助小白同学概要性地理解Git的整体原理及快速掌握Git基本技能以进入团队开发,所以建议对Git只了解些浅层内容的看客老爷们先看完前三篇再从本篇开始往后看。因为从本篇开始,小编将会挑一些细节内容给大家进行解析,这些细节内容是建立在读者已经掌握了整体原理的基础上的。 好了废话不多说了,直接进入今天的主题——git push/ git pull命... 阅读详情

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

作者:出来吧皮卡丘
链接:https://juejin.cn/post/7071780876501123085

前言

使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。

本文分享我在开发工作中实践过的实用命令。这些都能够大大提高工作效率,还能解决不少疑难场景。下面会介绍命令,列出应用场景,手摸手教学使用,让同学们看完即学会。

stash

[官方文档]  https://git-scm.com/docs/git-stash

[git 教程] https://www.bookstack.cn/read/git-tutorial/docs-commands-git-stash.md

描述

官方解释:当您想记录工作目录和索引的当前状态,但又想返回一个干净的工作目录时,请使用git stash。该命令将保存本地修改,并恢复工作目录以匹配头部提交。

stash 命令能够将还未 commit 的代码存起来,让你的工作目录变得干净。

应用场景

我猜你心里一定在想:为什么要变干净?

应用场景:某一天你正在 feature 分支开发新需求,突然产品经理跑过来说线上有bug,必须马上修复。而此时你的功能开发到一半,于是你急忙想切到 master 分支,然后你就会看到以下报错:

e6e9909d51939968265f71011eb00cf9.png

因为当前有文件更改了,需要提交commit保持工作区干净才能切分支。由于情况紧急,你只有急忙 commit 上去,commit 信息也随便写了个“暂存代码”,于是该分支提交记录就留了一条黑历史...(真人真事,看过这种提交)

命令使用

如果你学会 stash,就不用那么狼狈了。你只需要:

git stash

就这么简单,代码就被存起来了。

当你修复完线上问题,切回 feature 分支,想恢复代码也只需要:

git stash apply

相关命令

# 保存当前未commit的代码
git stash

# 保存当前未commit的代码并添加备注
git stash save "备注的内容"

# 列出stash的所有记录
git stash list

# 删除stash的所有记录
git stash clear

# 应用最近一次的stash
git stash apply

# 应用最近一次的stash,随后删除该记录
git stash pop

# 删除最近的一次stash
git stash drop

当有多条 stash,可以指定操作stash,首先使用stash list 列出所有记录:

$ git stash list
stash@{0}: WIP on ...
stash@{1}: WIP on ...
stash@{2}: On ...

应用第二条记录:

$ git stash apply stash@{1}

pop,drop 同理。

vscode 集成

stash 代码

176e9a37574951ef2573f8e8ef61c0b5.png

填写备注内容,也可以不填直接Enter

b101e600f94800833b488f963539bdfc.png

在STASHES菜单中可以看到保存的stash

d1e4c6ba1d6ee48cfe3edd158737fa97.png

先点击stash记录旁的小箭头,再点击 apply 或者 pop 都可恢复 stash

722fa94b75799f32488f8c7eff6168de.png

reset --soft

描述

完全不接触索引文件或工作树(但会像所有模式一样,将头部重置为)。这使您的所有更改的文件更改为“要提交的更改”。

回退你已提交的 commit,并将 commit 的修改内容放回到暂存区。

一般我们在使用 reset 命令时,git reset --hard 会被提及的比较多,它能让 commit 记录强制回溯到某一个节点。而 git reset --soft 的作用正如其名,--soft (柔软的) 除了回溯节点外,还会保留节点的修改内容。

应用场景

回溯节点,为什么要保留修改内容?

应用场景1:有时候手滑不小心把不该提交的内容 commit 了,这时想改回来,只能再 commit 一次,又多一条“黑历史”。

应用场景2:规范些的团队,一般对于 commit 的内容要求职责明确,颗粒度要细,便于后续出现问题排查。本来属于两块不同功能的修改,一起 commit 上去,这种就属于不规范。这次恰好又手滑了,一次性 commit 上去。

命令使用

学会 reset --soft 之后,你只需要:

# 恢复最近一次 commit
git reset --soft HEAD^

reset --soft 相当于后悔药,给你重新改过的机会。对于上面的场景,就可以再次修改重新提交,保持干净的 commit 记录。

以上说的是还未 push 的commit。对于已经 push 的 commit,也可以使用该命令,不过再次 push 时,由于远程分支和本地分支有差异,需要强制推送 git push -f 来覆盖被 reset 的 commit。

还有一点需要注意,在 reset --soft 指定 commit 号时,会将该 commit 到最近一次 commit 的所有修改内容全部恢复,而不是只针对该 commit。

举个栗子:

commit 记录有 c、b、a。

96012a2e32e746ce5427fdba5570a09b.png

reset 到 a。

git reset --soft 1a900ac29eba73ce817bf959f82ffcb0bfa38f75

此时的 HEAD 到了 a,而 b、c 的修改内容都回到了暂存区。

fbeefa80a262fc3fe9ed5fc2278e034d.png

cherry-pick

描述

给定一个或多个现有提交,应用每个提交引入的更改,为每个提交记录一个新的提交。这需要您的工作树清洁(没有从头提交的修改)。

将已经提交的 commit,复制出新的 commit 应用到分支里

应用场景

commit 都提交了,为什么还要复制新的出来?

应用场景1:有时候版本的一些优化需求开发到一半,可能其中某一个开发完的需求要临时上,或者某些原因导致待开发的需求卡住了已开发完成的需求上线。这时候就需要把 commit 抽出来,单独处理。

应用场景2:有时候开发分支中的代码记录被污染了,导致开发分支合到线上分支有问题,这时就需要拉一条干净的开发分支,再从旧的开发分支中,把 commit 复制到新分支。

命令使用

复制单个

现在有一条feature分支,commit 记录如下:

b41e7a5b20d4ca49ebf09550b7c890b0.png

需要把 b 复制到另一个分支,首先把 commitHash 复制下来,然后切到 master 分支。

5bd7071955b76092c6a6da3521720bfd.png

当前 master 最新的记录是 a,使用 cherry-pick 把 b 应用到当前分支。

4beeab21a6906c3557b321aa67b5b53b.png

完成后看下最新的 log,b 已经应用到 master,作为最新的 commit 了。可以看到 commitHash 和之前的不一样,但是提交时间还是保留之前的。

复制多个

以上是单个 commit 的复制,下面再来看看 cherry-pick 多个 commit 要如何操作。

  • 一次转移多个提交:

git cherry-pick commit1 commit2

上面的命令将 commit1 和 commit2 两个提交应用到当前分支。

  • 多个连续的commit,也可区间复制:

git cherry-pick commit1^..commit2

上面的命令将 commit1 到 commit2 这个区间的 commit 都应用到当前分支(包含commit1、commit2),commit1 是最早的提交。

cherry-pick 代码冲突

在 cherry-pick 多个commit时,可能会遇到代码冲突,这时 cherry-pick 会停下来,让用户决定如何继续操作。下面看看怎么解决这种场景。

dd3c9e87c869ba573a6ec8dd51464d46.png

还是 feature 分支,现在需要把 c、d、e 都复制到 master 分支上。先把起点c和终点e的 commitHash 记下来。

4aba00b049b52a5ac88f113c91e2cc6e.png

切到 master 分支,使用区间的 cherry-pick。可以看到 c 被成功复制,当进行到 d 时,发现代码冲突,cherry-pick 中断了。这时需要解决代码冲突,重新提交到暂存区。

20cecd74558d4bea5d136340f8aa9235.png

然后使用 cherry-pick --continue 让 cherry-pick 继续进行下去。最后 e 也被复制进来,整个流程就完成了。

以上是完整的流程,但有时候可能需要在代码冲突后,放弃或者退出流程:

  • 放弃 cherry-pick:

gits cherry-pick --abort

回到操作前的样子,就像什么都没发生过。

  • 退出 cherry-pick:

git cherry-pick --quit

不回到操作前的样子。即保留已经 cherry-pick 成功的 commit,并退出 cherry-pick 流程。

revert

描述

给定一个或多个现有提交,恢复相关提交引入的更改,并记录一些这些更改的新提交。这就要求你的工作树是干净的(没有来自头部的修改)。

将现有的提交还原,恢复提交的内容,并生成一条还原记录。

应用场景

应用场景:有一天测试突然跟你说,你开发上线的功能有问题,需要马上撤回,否则会影响到系统使用。这时可能会想到用 reset 回退,可是你看了看分支上最新的提交还有其他同事的代码,用 reset 会把这部分代码也撤回了。由于情况紧急,又想不到好方法,还是任性的使用 reset,然后再让同事把他的代码合一遍(同事听到想打人),于是你的技术形象在同事眼里一落千丈。

命令使用

revert 普通提交

学会 revert 之后,立马就可以拯救这种尴尬的情况。

现在 master 记录如下:

ba90d01ff9a111ec602e5b0a578212e1.png
git revert 21dcd937fe555f58841b17466a99118deb489212

revert 掉自己提交的 commit。

fc6203763a010a58b13bf88f1af1c063.png

因为 revert 会生成一条新的提交记录,这时会让你编辑提交信息,编辑完后 :wq 保存退出就好了。

a378be7d559335df16eb5ccbeb3d2386.png

再来看下最新的 log,生成了一条 revert 记录,虽然自己之前的提交记录还是会保留着,但你修改的代码内容已经被撤回了。

revert 合并提交

在 git 的 commit 记录里,还有一种类型是合并提交,想要 revert 合并提交,使用上会有些不一样。

db37c6de58e4c88860b0b3c9d14bbd89.png

现在的 master 分支里多了条合并提交。

423ddc34f6b10b2712148c2ddaba440a.png

使用刚刚同样的 revert 方法,会发现命令行报错了。

为什么会这样?在官方文档中有解释。

通常无法 revert 合并,因为您不知道合并的哪一侧应被视为主线。此选项指定主线的父编号(从1开始),并允许 revert 反转相对于指定父编号的更改

我的理解是因为合并提交是两条分支的交集节点,而 git 不知道需要撤销的哪一条分支,需要添加参数 -m 指定主线分支,保留主线分支的代码,另一条则被撤销。

-m 后面要跟一个 parent number 标识出"主线",一般使用 1 保留主分支代码。

git revert -m 1 <commitHash>
revert 合并提交后,再次合并分支会失效

还是上面的场景,在 master 分支 revert 合并提交后,然后切到 feature 分支修复好 bug,再合并到 master 分支时,会发现之前被 revert 的修改内容没有重新合并进来。

因为使用 revert 后, feature 分支的 commit 还是会保留在 master 分支的记录中,当你再次合并进去时,git 判断有相同的 commitHash,就忽略了相关 commit 修改的内容。

这时就需要 revert 掉之前 revert 的合并提交,有点拗口,接下来看操作吧。

5343001877fc3953eca0ab99d49369b0.png

现在 master 的记录是这样的。

4d71423f4f82185e1f995966fb70b903.png

再次使用 revert,之前被 revert 的修改内容就又回来了。

reflog

描述

此命令管理重录中记录的信息。

如果说 reset --soft 是后悔药,那 reflog 就是强力后悔药。它记录了所有的 commit 操作记录,便于错误操作后找回记录。

应用场景

应用场景:某天你眼花,发现自己在其他人分支提交了代码还推到远程分支,这时因为分支只有你的最新提交,就想着使用 reset --hard,结果紧张不小心记错了 commitHash,reset 过头,把同事的 commit 搞没了。没办法,reset --hard 是强制回退的,找不到 commitHash 了,只能让同事从本地分支再推一次(同事瞬间拳头就硬了,怎么又是你)。于是,你的技术形象又一落千丈。

命令使用

b3de4806cf2ced0a1dab4c6a0a6c980d.png

分支记录如上,想要 reset 到 b。

3a50b01f45ba842d1e4ba8b5fbe6c8af.png

误操作 reset 过头,b 没了,最新的只剩下 a。

8f9aec87cbc940a0393d6bcc7eb757fa.png

这时用 git reflog 查看历史记录,把错误提交的那次 commitHash 记下。

c78c602cbda9b5b114169c45337fe7e6.png

再次 reset 回去,就会发现 b 回来了。

设置 Git 短命令

对我这种喜欢敲命令而不用图形化工具的爱好者来说,设置短命令可以很好的提高效率。下面介绍两种设置短命令的方式。

方式一

git config --global alias.ps push

方式二

打开全局配置文件

vim ~/.gitconfig

写入内容

[alias] 
        co = checkout
        ps = push
        pl = pull
        mer = merge --no-ff
        cp = cherry-pick

使用

# 等同于 git cherry-pick <commitHash>
git cp <commitHash>

总结

本文主要分享了5个在开发中实用的 Git 命令和设置短命令的方式。

  • stash:存储临时代码。

  • reset --soft:软回溯,回退 commit 的同时保留修改内容。

  • cherry-pick:复制 commit。

  • revert:撤销 commit 的修改内容。

  • reflog:记录了 commit 的历史操作。

文中列举的应用场景有部分不太恰当,只是想便于同学们理解,最重要的是要理解命令的作用是什么,活学活用才能发挥最大功效。

如果你也有一些实用的 Git 命令也欢迎在评论区分享~

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

c11fe02b36d942e9761c0b3ab55a4c2f.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

Git 不要只会 pull 和 push,搞上 5 个提升效率的命令! 以上就是提升 Git 操作效率的 5 个实用命令。掌握了这些命令,git pull和git push只会成为基础,而你会从容地处理复杂提交、管理分支以及挽救误操作。对于专业的开发者来说,学会高效使用 Git 不仅能节省开发时间,还能提高代码的质量与协作效率。在未来的项目中,不妨多尝试这些高级命令,让 Git 成为你的开发好帮手。 阅读详情

相关推荐

git提交顺序为什么是:add,conmmit,pull,push

git提交顺序为什么是:add,conmmit,pull,push

joan_yb的博客 2061

Git 分支管理-git stash 和git stash pop

合并分支,冲突是难免的,在实际协作开发中我们遇到的情况错综复杂,今天就讲两个比较重要的命令使用git stash 和git stash pop

java-wing的博客 8789

【Git】pull 和 push

老规矩这篇文章讲的什么先列出来,如果觉得自己都了解,就不要在这里浪费时间,研究别的技术,如果。(我只有一个要求禁止转载,发文章是为了让大家学习,最讨厌抄的满网都是,你可以不喜欢吃这个蛋糕但请你不要弄脏它) git push 的完整写法是? 为什么我们能直接用git push呢? git pull 的完整写法是? 如何删除github上的分支? 如何使本地分支名与github上的分支名不一样? pu...

weixin_43071838的博客 693

git-使用git stash命令解决拉取代码时存在冲突导致拉取失败问题

在很多时候我们拉取代码时,会存在代码冲突导致拉取失败,这种情况下如果我们直接去修改代码那就太麻烦了。我们可以使用和两个命令巧妙的解决这个难题,它们主要用于临时保存和恢复工作进度。

Hi_MrXiao的博客 1807

git pull获取和git push推送失败

前言 git 是一个非常优秀的工具,但是晚饭在使用的过程中遇到了很多问题,现在,记录下比较让人难受的几个问题 记得要看完整篇文章再动手解决自己的问题! git pull 获取远程仓库更新时,使用git pull origin master后出现如下错误 # fatal: refusing to merge unrelated histories 然后根据git pull的提示 # --allo...

Mrsssswan的博客 1653

无人机测绘航线生成算法

JavaScript开发和测试无人机测绘航线的自动生成方法,设计可行,算法可靠

ly1302116的专栏 5232

[Git] git pull冲突和git stash pop冲突解决

一、git pull 冲突 代码仓有人提交了新代码,而我本地也修改了代码,想要pull一下,却发现: error: Your local changes to the following files would be overwritten by merge: xxx.xxx Please, commit your changes or stash them before you can merge. 百度了一下解决办法很简单,有两种: 暂存本地的修改,pull之后解决冲突 撤销本地所有

Spade_的博客 5766

直流电动机的建模仿真(1)他励,串励和并励电动机建模仿真

本文根据不同励磁方式的直流电动机的接线原理图,建立了相应的数学模型,然后根据与数学模型对应的等效电路以及模拟机械运动方程的等效电路,用Matlab/simulink中的SpecializedPower system库中的电路元件,建立了他励,并励和串励直流电动机的全等效电路仿真模型,经过与Matlab自带的直流电动机仿真模型比较以及仿真实例验证,所建立的仿真模型时完全正确的。

weixin_45670943的博客 7513

git stash和git stash pop

一、git pull 拉代码的时候,或者切换分支的时候,防止冲突和不便,,会用到git stash,将工作区内容暂存起来。比如:为了fix 一个bug,  先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。怎么办:    1、git stash        备份当前工作区的内容,保存到git 栈中,从最近的一次commit中读取相关内容   ...

LZJWXJ树袋熊 10万+

基于mediapipe的动作捕捉和人物模型的驱动

我实习做这个的时候,当时也找了很多资料,但很多资料都没有讲透,下面我就总结一下自己结合看代码后的感悟,还有一些我认为很重要的点。

qq_58484580的博客 7700

Python入门之机器学习(非常详细)篇幅拉满,一般人看不完!

什么是机器学习?监督学习 supervised learning;非监督学习 unsupervised learning;半监督学习 semi-supervised learning;强化学习 reinforcement learning;监督学习是不断向计算机提供数据(特征),并告诉计算机对应的值(标签),最后通过大量的数据,让计算机自己学会判断和识别。例如Google Photo,你在APP中输入狗,这时就会弹出与狗相关的图片,这背后使用的算法就是监督学习。

xiaolinyui的博客 2万+

git push 和 git pull 的默认行为

文章目录前言一、git push 的默认行为二、upstream & downstream三、git pull 的默认行为 前言 之前记录过一篇 git push 中使用-u参数含义的博客,最近看到一片关于 git push默认行为的介绍文章,对于-u参数的理解就能更清晰,特此记录一下。 一、git push 的默认行为 当我们通过显式指定分支名进行初次push操作后,本地有了新的commit,此时执行git push命令会有什么效果呢? 如果你未曾改动过git config中的push.def

Lakers2015的博客 2712

头歌 操作系统 课堂练习2.1:外部中断 第2关:第一次时钟中断

将答案0x796c输入到workspace/mushixun/恢复点的地址.txt中的括号里即可,随后使用kill命令防止对第三关的环境造成影响。

Yinfrey的博客 6081

git为什么要先commit,然后pull,最后再push?而不是commit然后直接push?

备注: 发表到优快云做为转载文章。git基础:先pull,再commit,再push。 现在的方式:每次写之前先pull,写完push前也先pull 问题分析如下: 现在远程有一个仓库,分支就一个,是master。本地的仓库是从远程的master上clone下来的,再在自己本地改好,再commit → pull → push。 1,那我本地这个也算是个分支?还是就是一个本地仓库? 本地和远程的关系相当于两个分支,你感觉一样是因为你git pull 的时候已经自动给绑定好对应关系了 ..

a254723077的博客 2万+

三大主流交易接口实战指南:XTP、CTP与数字货币API的实盘接入解析

本文深入解析了量化交易系统实现实盘交易的关键环节,聚焦于三大主流交易接口的实战接入。详细介绍了证券领域的XTP、期货领域的CTP以及数字货币交易所API的核心特性、代码封装要点与风控实践,并提供了多市场接口整合的统一架构方案,为开发者打通量化交易的“最后一公里”提供了一份接地气的实战指南。

win55的博客 1373

在 Coze 平台工作流开发中,使用图生视频大模型需要时间比较长比如5分钟,如何解决工作流运行超时的问题以及等在视频生成以后再向下走

在 Coze 平台工作流开发中,使用图生视频大模型需要时间比较长比如5分钟,如何解决工作流运行超时的问题以及等在视频生成以后再向下走 同步的比较简单,直接在coze 工作流里面就可以搞定了,也不用写代码之类的

AI懒虫 2357

Day 32:Git的远程操作:git fetch、git pull、git push详解fetch vs pull的深度解析

本文详细解析了Git远程操作中的git fetch、git pull和git push命令的区别与使用方法。git fetch仅获取远程更新但不自动合并,而git pull则是fetch加merge的组合操作。文章通过类比小说协作的生动例子,解释了各命令的适用场景,并提供了在GitCode平台上的实操步骤。同时总结了常见问题的解决方案,如意外合并、历史不相关等问题,并推荐优先使用fetch+merge的安全工作流程。最后强调了理解这些命令差异对团队协作的重要性,为后续学习远程分支管理打下基础。

自律即自由 1615

基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇1:项目简介)

基于NB-IoT技术的城市道路智慧路灯监控系统,在每个照明节点上安装一个集成了NB-IoT模组的单灯控制器,单灯控制器再经运营商的网络,与路灯控制平台实现双向通信,路灯控制平台直接对每个灯进行控制,包括开关灯控制、光照检测、自动调节明暗、电耗分析等操作。

不脱发的程序猿 5万+

git push origin master和git push的区别

git push是git push origin master的一种简写形式,推荐使用git push origin master。

荷塘月色 5万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

git pull和git commit的顺序问题

最近在合作开发项目的时候,遇到一个让人头痛的问题,我在本地clone远端仓库后,修改了部分代码,commit、push代码后,忘记了需要先pull,git revert后,再次pull代码,发现本地的修改被远端仓库覆盖掉了,欲哭无泪。 查找了相关的git操作的文档博客等,总结如下: 在本地修改与远程代码无冲突的情况下,优先使用: pull -> commit -> push ...

Zpp的前端学习博客 9664

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

关于 git pull 和 git pull origin develop 的区别

日期:2019 年 9 月 29 日 关于 git pull 和 git pull origin develop 的区别 闲来无事,正于网上冲浪之际,一位漂亮小姐姐抛来一个问题:git pull 和 git pull origin develop 有啥区别,一个答案从脑海里一闪而过——没啥区别,但好像也不对,没啥区别的话为啥还搞两个命令,至少秉着简单性原则来讲是这样的。于是乎,我又去网上溜了一圈,...

qq_41306423的博客 3万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

git之pull与push

git使用pull和push拉取或推送仓库分支,pull与fetch的区别。git分支的新建与合并

wq_0708的博客 6582

git的clone、push、pull简单操作

一、Git简介 1、git概念 和svn一样,是版本控制工具,都要有一个服务端和客户端。 2、git和svn比较存在的优势 版本库本地化,支持离线提交,相对独立不影响协同开发。 更少的“仓库污染。git对于每个工程只会产生一个 .git目录 ,所有的版本控制信息都在这个目录中 支持快速切换分支方便合并,合并性能好。合并文件速度比SVN快。 分布式版本库,无单点故障,内容完整性好。 国外开源...

Abdullahi_kanye的博客 4911

Git中的push和pull的默认行为

在讨论 push 和 pull 的默认行为前我们需要先了解 upstream、downstream 和 FETCH_HEAD 的概念。 upstream && downstream 通俗来说,当本地仓库 R 的某分支 x 的代码 push 到远程仓库 R'的 x'分支时,把 x'分支称为 x 分支的 upstream,相对地把 x 分支称为 x'分支的 downstream。R 和...

weixin_34202952的博客 2293

idea中git如何commit,push,pull

切换到IDEA中,依次选择,鼠标右键-->Git-->Repository-->Pull 菜单。在Github上修改文件,可以理解为是在团队项目开发中,团队成员从本地仓库提交的代码,上传到了Github远程仓库,而自己是把本地仓库更新为最新代码。在点击Push之后,第一次连接,可能会需要填写Github的账号密码,直接填写账号密码即可,然后等待Push完成。1.进入码云,找到你所感兴趣的开源代码,点击Fork,意思是建立分支。4.点进这个仓库后,进行以下操作,目的为在idea中进行开发。

weixin_44966620的博客 8880
上一篇: JavaScript 2023年度报告出炉
下一篇: 为什么编程入门第一步是 "Hello, World!"?
codingpy
博客等级 码龄11年 1866粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值