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
命令则用于将新建分支上的修改合并到主分支中,如果有冲突需要手动解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?