热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Git管理版本详细教程

一、远程仓库与本地仓库关联的逻辑关系Remote: 远程仓库,即你在 Github 或者 Gitee 等平台上创建的项目仓库;Repository: 本地仓库,你可以认为就是我们拉

一、远程仓库与本地仓库关联的逻辑关系

0



  • Remote: 远程仓库,即你在 Github 或者 Gitee 等平台上创建的项目仓库;

  • Repository: 本地仓库,你可以认为就是我们拉取项目后生成的 .git 文件夹;

  • Index: 暂存区,事实上它只是一个文件,即 .git 文件夹里面的 index 文件,它保存即将提交到本地仓库的文件列表信息;

  • workspace: 工作区,即你在 VS code 或者 WebStorm 编译器正在编写的代码。

       如上内容有参考其他文章,如有侵权请联系我删除。

二、使用Git管理程序版本详细教程

1、在远程Git上创建项目并获取Git项目的地址:创建好项目远程仓库,就能获取到一个 .git 结尾的地址,或者公司直接提供一个地址,如下:

 



2、通过Git Bush在我们本地建的空目录下面输入下面命令即可拉取到项目到本地。

git clone https://github.com/XXXXXX/XXXXXX.git

3、查看远程分支:拉取完项目后,我们是处于 master/main 主分支,根据要求看是否需要切换到某个分支进行特定开发:

git branch -r

4、查看本地分支:本地创建的分支情况应该是和远程分支对应,如果本地分支未何远程分支关联,则在本地的操作不影响远程:

git branch



5、创建本地分支:通过下面的命令,创建好一个本地分支,该分支是基于当前所在分支创建的:

git branch dev(分支名称, 可以随便取)
关于分支的其他命令
①git branch -m newBranchName //重命名本地分支(对远程仓库不会有影响)

git branch -d dev                  //删除本地分支(对远程仓库不会有影响)



 

6、切换分支:创建好本地分支,我们就可以切换到该分支上

git checkout dev //创建和切换两个操作也可以一起做: git checkout -b xxx (创建并切换到该本地分支)



7、发布本地分支到远程分支,当创建好一个本地分支的时候,把该分支发布到远程仓库去,让远程仓库也拥有该分支,且让它和你本地分支进行关联,方便我们后续直接进行 git pull 或者 git push 操作。

git push origin dev

8、建立本地分支与远程分支的关联

(1)本地分支与远程分支关联这步不是必须,但后续就能很方便的直接使用 git pull 或者 git push 获取或提交该分支的代码,而不用去指定分支。

(1)本地新建分支,但是远程没有新建分支,执行如下命令之后,远程仓库会多一个dev分支
①git push -u origin tes
②git push --set-upstream origin dev
(2)本地没有分支,远程已存在分,我们需要创建本地分支,并将远程分支和本地的进行关联支
① git checkout -b Test origin/Test
②git checkout -b dev --track origin/dev
③git pull origin dev:dev-------两个dev分别表示远程分支名:本地分支名
(3)本地有分支,远程有分支,但还未关联,需要进行关联
git branch --set-upstream-to=origin/master



11、添加文件进缓存区,在对代码更改后,要把代码提交到远程仓库,我们就要先把代码添加到暂存区,之后提交到本地仓库,最后才能提交到远程仓库。

git add xxx(文件路径) # 多个 git add xxx(文件路径) xxx(文件路径) xxx(文件路径) ...
//把工作区更改的所有文件都添加进暂存区
git add .
//当你误把文件添加进暂存区,也不要慌,有添加,就肯定有删除
git rm --cached xxx(文件路径)
//清空暂存区,暂存区实质是 .git 目录下的 
rm .git/index

 

12、查看工作区与暂存区的状态,这个命令用于查看工作区和暂存区的状态,能看到哪些文件被修改了,它修改后是否被暂存了,又或者还没有暂存。这个暂存的过程,专业的叫法是 Git tracked,也就是是否被跟踪。

git status
绿色的文件是已经添加进暂存区的,红色的文件则是未添加到暂存区的,
新文件则是 new file,
修改的文件则是 modified,
删除的是 deleted。

13、提交暂存区文件到本地仓库

git commit -m "说明信息"
//通过上面的命令,我们就将暂存区的文件提交到本地仓库了,我们可以通过 git status 再次查看暂存区的情况
查看提交记录
git log

//如果你想要显示最近几条记录,你可以通过 git log -n(n为数字, 可以随意指定) 命令完成。

 

14、提交本地仓库文件到远程仓库

git push

 

 15、其他命令

①在远程建立一个新的分支,同步到本地
git fetch origin git branch
-r
②合并分支
比如在dev1开发一个功能,这个功能在dev1上验证通过了,要合入master,可以使用 git merge 来实现。
切换到主分支 git checkout master 合并dev1到master git merge dev1
③查看关联情况
git branch
-vv
④查看远程仓库地址
git remote -v

推荐阅读
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 速查!Git常用命令大全【汇总推荐】
    开发工具|gitgit开发工具-gitgit常用命令网站源码分享资源,写vscode插件详细教程,ubuntu突然卡,war放tomcat哪,应聘爬虫岗位,php获取数组索引值,张 ... [详细]
  • 六百字读懂
    译注:来自HackerSchool的MaryRoseCook实现了一个纯JavaScript(Node.js)写就的Git:Gitlet,包含了最主要的一些命令。这个项目一是为了了 ... [详细]
  • 前言之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • gitcommit-m提交所有本地文件 ... [详细]
author-avatar
勇_俊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有