Git Notes

Note1

git是目前世界上最先进的分布式版本控制系统,另外git还有极其强大的分支管理,把SVN(SVN是subversion的缩写,是一个开放源代码的版本控制系统)等远远的抛在了后面。所有的版本控制系统,其实只能跟踪文本文件的改动,比如 TXT文件,网页,所有的程序代码等等 ,若对图片、视频及microsoft的word这些二进制格式文件修改时,版本控制系统是无法跟踪到文件的改动的,若要真正使用版本控制系统,就要以纯文本的方式编写文件。


Note2

Git删除target文件夹,网上的git命令:git rm -r --cached target/*   发现报错:fatal: pathspec 'target/classes' did not match any files。

解决方法:

先进入工作目录,打开Git Bash,输入git rm -r --cached */target ,然后输入 git commit -m '删除不必要的文件',最后强制提交 git push -f

【--cached 暂存区,不加的话本地文件也会删除


Note3

AB两个分支合并时,如果出现冲突文件,必须要去手动解决冲突块,不能直接使用“使用他人版本”或者“使用我的版本”功能,否则会进行整个文件的替换,就会发生代码的丢失。


Note4

在每次新建分支之前和push之前,都要pull一下主仓库,保证代码最新,避免产生冲突。

在每次提交了合并请求之后不要立马删除该分支,并且写新的代码之前也要再新建一个分支,因为分支合并请求提交之后需要时间,如果合并请求不通过还要在该分支上进行修改。


Note5

在实际开发中什么时候应该创建一个新分支?

  • 当您进行具有一定实验性的开发工作时,您应该创建一个新分支。
  • 所以在你的场景中肯定会创建一个新分支而不是 master 中的文件夹。如果您将沙箱工作创建为主目录中的一个目录,它将驻留在该目录中,直到您使用 git 将其删除。将死代码放在 master 分支中无论如何都不是理想的,因为它会使其他开发人员感到困惑,并且可能会在应用程序的整个生命周期中一直腐烂。
  • 如果您的团队遇到错误,您不希望他们浪费时间探索实验工作以确定该目录中是否存在错误。创建一个新分支允许您将更改与主分支隔离开来。如果您的实验进展顺利,您始终可以选择将您的更改 merge 到 master 分支中。如果事情进展不顺利,您可以随时丢弃分支或将其保留在本地存储库中。

Note6

为什么我在新建的分支内作出的修改,切换会主分支后还能被看到?

在 Git 中,每个分支都是一个彼此相互独立的代码版本,每个分支的修改都只会影响到当前分支的代码,不会影响到其他分支的代码。但是,当您在一个分支上修改了代码后,如果没有将修改的代码提交到本地仓库,而是直接切换到其他分支,那么您修改的代码就不会被提交。因此,当您切换回主分支时,看到的还是修改前的代码。

如果您希望在切换分支时能够看到自己的修改,需要将修改的代码提交到本地仓库。您可以使用以下命令提交代码:

git add .
git commit -m "提交说明"

其中,git add . 命令用于添加所有修改过的文件到暂存区,而 git commit 命令用于提交代码,并添加提交说明。

另外,请注意,当您切换回主分支时,如果您的修改与主分支上的代码有冲突,需要先解决冲突后再进行提交。可以使用以下命令来解决冲突:

git checkout 主分支名
git merge 新建分支名

其中,git checkout 命令用于切换到主分支,而 git merge 命令则用于将新建分支上的修改合并到主分支中,如果有冲突需要手动解决。

posted @   danielzzz  阅读(51)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示