您的位置:首页 > 房产 > 建筑 > 查找南宁网站开发公司_网页设计与制作教程 pdf下载_优化大师app下载安装_百度信息流效果怎么样

查找南宁网站开发公司_网页设计与制作教程 pdf下载_优化大师app下载安装_百度信息流效果怎么样

2025/1/31 13:58:00 来源:https://blog.csdn.net/weixin_44715186/article/details/144870632  浏览:    关键词:查找南宁网站开发公司_网页设计与制作教程 pdf下载_优化大师app下载安装_百度信息流效果怎么样
查找南宁网站开发公司_网页设计与制作教程 pdf下载_优化大师app下载安装_百度信息流效果怎么样

可以直接看实践

总结自施磊老师课程

Git与SVN对比

在这里插入图片描述

svn操作流程

  1. 写代码。

  2. 从服务器拉回服务器的当前版本库,并解决服务器版本库与本地代码的冲突。

  3. 将本地代码提交到服务器。

Git操作流程

  1. 写代码, 然后添加(add)到暂存区。

  2. 提交(commit)到本地版本库。

  3. 从服务器拉取(pull)服务器的当前版本库,并解决服务器版本库与本地代码的冲突。

  4. 将远程库与本地代码合并结果提交(commit)到本地版本库。

  5. 将本地版本库推送(push)到服务器

注意:推送代码前一定要拉代码,不然把别人代码冲没了,还要花时间找

对比可以看出:分布式版本管理仅仅是增加了本地库这个概念,其余的概念与集中管理并无区别。——但是 svn 在与服务器同步之前无法提交代码,因而本地修改更容易出问题。

Git常用命令

正常流程基本命令

  • git clone -b master git@github.com:luzhenren/GitLearn.git

​ 将远程仓库指定分支克隆到本地

​ 会自动创建远程仓库名称origin 和 本地仓库

  • git branch

    查看分支

  • git status

    查看哪些代码变化

  • 总流程如下

    在这里插入图片描述

  • git add <要提交的代码>

    将工作区代码提交到了暂存区

  • git commit -m "feat: 初始化提交代码"

    将暂存区代码提交到本地仓库

  • git pull origin <分支名>

    拉取远程仓库代码,合并代码

    如果有冲突,则需要重新处理代码,使其能够编译过,此时处理过后的代码又是新代码,需要再一次 add commit pull。

    确认本地仓库代码一定是最新的了再push,不然会导致别人代码被冲掉。

  • git push origin <本地仓库分支>:<远程仓库分支>

    仓库分支名一致,则可以git push origin <分支名>

    将本地仓库推送到远程仓库

重要!!!

 **提交之前一定要确定代码编译没问题提交之前一定要确定代码编译没问题
提交之前一定要确定代码编译没问题**

异常流程版本回退命令

  • 未使用git add 的时候----在工作区

    git checkout -- <filepathname> # 放弃修改某个文件
    例如: git checkout -- readme.md
    git checkout .  # 放弃所有修改的文件
    git restore .  # 放弃所有修改的文件
    
  • 已经使用git add 的时候----在暂存区

    git reset HEAD <filepathname> # 恢复某个文件到工作区
    例如: git reset HEAD readme.md
    git reset HEAD . # 恢复所有文件到工作区
    git  reset  # 恢复所有文件到工作区
    

    注意:这里只是恢复到了工作区,如果想放弃修改的代码还需要执行上述(放弃工作区)中的操作

  • 已经使用git commit提交的了代码----在本地仓库

    git log查看本地仓库提交记录,记录会带有每次提交的版本号(commit id)

    git reset --hard <commit id> 退到暂存区

  • 已经git push 到了远程分支----在远程仓库

    git push -f origin <分支名>

    确认只有自己更新了,先回退本地仓库,然后强制更新(本地落后于远程只能强制)远程仓库即可

    (如果此期间别人提交了代码,需要协商处理,所以意识到问题后立即告知大家)

代码冲突处理

冲突发生在两个人操作同一个文件的时候

gut pull后文件就会变成如下

<<<<<<<<<<<<<<<<<< HEAD (当前更改)
我的代码
=====================
你的代码
>>>>>>>>>>>>>>>>>>>>>> dsfahowihowqerhqoir2143 (传入更改)

就是看采用你的代码还是我的代码、或者两个人的都要一部分(沟通!!!)

Git分支管理

总结:对于开发,本地分支数与远程分支数一一对应,可以避免很多问题,开发很可靠

本地分支管理

git本地创建多个分支,互不干扰。

情景:在做某个需求a时,先需要修改紧急bug b;发版时发的是远程dev的代码。

方式一(推荐):

(1)本地已有分支dev,写了需求a,先commit,即将工作区的内容提交到版本库中,否则切换到其他分支时,就会覆盖当前工作区的代码。(这步很重要)

(2)在本地创建dev_bug分支,从远程dev分支中check(git checkout -b dev_bug origin/dev)

(3)在本地dev_bug上修改bug,并commit、push到远程dev上

(4)在本地变换到dev,继续做需求a

为了开发新功能不影响master稳定的代码,创建一个新分支来开发

19393@LAPTOP-L9L4QE0T MINGW64 /d/code/github/GitLearn (master)
$ git checkout -b sortdev
Switched to a new branch 'sortdev'19393@LAPTOP-L9L4QE0T MINGW64 /d/code/github/GitLearn (sortdev)
$ git branchmaster
* sortdev

git checkout -b sortdev创建并切换分支sortdev,我在这个分支开发排序功能

使用git pull origin master 指定此分支的远程仓库,并拉取代码

开发完成后,发现推送不成功

解决方案

将sortdev分支,合并到master分支

git checkout master git merge sortdev

PS D:\code\github\GitLearn> git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
PS D:\code\github\GitLearn> git merge sortdev
Updating 4e9ad19..db08cf8
Fast-forwardmain.cpp | 13 +++++++++++++1 file changed, 13 insertions(+)

继续推送

PS D:\code\github\GitLearn> git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 510 bytes | 510.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:luzhenren/GitLearn.git4e9ad19..db08cf8  master -> master

合并分支后,删除原有分支

PS D:\code\github\GitLearn> git branch -d sortdev
Deleted branch sortdev (was db08cf8).
PS D:\code\github\GitLearn> git branch
* master

合并分支冲突

1. 确保工作目录干净

在合并分支之前,确保当前分支的工作目录是干净的(没有未提交的更改),以免产生额外的合并问题。你可以使用以下命令查看当前工作目录状态:

git status
2. 切换到 master 分支(或目标分支)

切换到你希望合并到的目标分支(通常是 master):

git checkout master
3. 合并 dev 分支到 master 分支

使用以下命令将 dev 分支合并到 master 分支中:

git merge dev

如果 devmaster 分支有冲突,Git 会提示你冲突的文件和位置。

4. 解决冲突

编辑冲突的文件,手动解决冲突部分。冲突的代码块通常格式如下:

<<<<<<< HEAD
内容来自当前分支(master)
=======
内容来自合并分支(dev)
>>>>>>> dev

你需要根据实际情况,决定保留哪一部分,或者手动合并它们的内容。修改后的文件可能是这样:

合并后的最终代码内容

完成每个冲突文件的修改后,保存文件并退出编辑器。

5. 标记冲突已解决并提交

解决所有冲突后,执行以下命令将修改添加到暂存区(staging area):

git add <冲突文件1> <冲突文件2> ...

然后提交解决冲突后的更改:

git commit -m "解决 dev 与 master 的冲突"
6. 继续合并或推送

完成合并后,你可以将 master 分支推送到远程仓库:

git push origin master

远程分支管理

版本迭代结束后开启新迭代时,需要新开一个分支作为新版本开发分支

在这里插入图片描述

一般做法:我本地也创建一个新分支,追踪远程的新分支

PS D:\code\github\GitLearn> git checkout -b dev origin/dev1.01.00
Switched to a new branch 'dev'
branch 'dev' set up to track 'origin/dev1.01.00'.

指定了远程仓库后,以后git pull和push就不用使用origin指定远程仓库了

在这里插入图片描述

可以看到追踪关系很明确

如果创建分支时没有设置追踪的远程仓库分支,使用git branch -u <远程仓库名>/<远程分支名>补救

Tag处理

如何使用Git将标签推送到远程仓库|极客笔记

Git工作流实践(!!!)

项目代码远程仓库分支

  • master主分支
  • dev开发分支
  • release:发布分支

个人开发分支

  • feature特性分支
  • bugfix缺陷修改分支
  • hotfix热更新分支

在这里插入图片描述

开发阶段流程总结

  1. 创建个人本地开发分支:git checkout -b feature/add_new_line origin/dev
  2. 个人本地分支推送到远程分支:git push origin feature/add_new_line:feature/add_new_line
  3. 提交个人远程代码分支和目标代码合入分支的MR,相关负责人进行CR
  4. 相关负责人提出意见,本地修改相应的代码,推送到对应的远程代码分支上
  5. 代码CR意见处理完,相关负责人进行代码merge,代码修改从feature/add_new_line合入dev分支完成
  6. 删除个人远程代码分支

bug回归阶段操作同上

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com