0


Git和GitHub:开启你的开源之旅(入门级干货教程)

Git及GitHub使用教程

Git部分

Git概述

Git是一个免费的开源的分布式版本控制系统

  1. 版本控制系统

版本控制系统是一种记录文件历史修改记录,以便将来查阅特定版本修订情况的系统。

  1. 集中式版本控制工具 VS 分布式版本控制工具

集中式版本控制工具

  1. 特点: - 所有文件版本和历史记录存储在中央服务器上。- 开发者通过客户端从中央服务器检出最新版本的代码,并将更改推送回服务器。
  2. 优势: - 中央化的存储使得管理项目的权限控制更容易。- 管理员可以更轻松地控制项目的状态和权限。- 开发者只需了解中央服务器的概念,学习曲线相对较低。
  3. 缺点: - 协作过程中对中央服务器的依赖性较高,服务器故障可能导致开发中断。- 因为所有操作都涉及到与中央服务器的交互,对网络连接的要求较高。

分布式版本控制工具

  1. 特点:- 每个开发者都有完整的项目副本(包括代码库和版本历史记录)。- 开发者可以在本地进行提交、分支、合并等操作,而不必依赖于中央服务器。
  2. 优势:- 本地操作速度快,不需要频繁与中央服务器交互,即使在没有网络连接的情况下也能进行大部分操作。- 分布式架构更适合团队分散、地理位置分布广泛的开发团队。- 更灵活的分支和合并机制,支持并行开发和多个工作流程。
  3. 缺点:- 对于一些新手来说,理解分布式版本控制系统的概念和工作流程可能有一定的学习曲线。- 由于每个开发者都有完整的项目副本,可能会占用更多的存储空间。
  4. 分区

工作区(git add)➡暂存区(git commit)➡本地库(生成历史版本 git push)➡远程库

  1. 代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般简称为“远程库”。

局域网:GitLab

互联网:GitHub、Gitee(码云)

Git常用命令

常用操作含义git config --global user.name 用户名设置用户签名git config --global user.email 邮箱地址**设置用户签名git config --list查看git配置信息git init初始化本地库git status查看本地库状态git add 文件名添加到暂存区git add .添加当前目录下所有的文件到暂存区git commit -m “日志信息” 文件名提交到本地库git reflog查看历史记录git log查看完整的记录git reset --hard 版本号版本穿梭cat 文件名**查看文件内容

  1. 步骤

设置用户签名

初始化本地库

添加暂存区

提交到本地库

  1. git内部vim的操作

ps: vim是文本编辑器,类似于windows的记事本,它有两个模式,一个是编辑(插入)模式,一个是命令模式
操作目的vim 文件名进入i编辑模式esc*命令模式:w + 回车保存(命令模式):wq 或者 ZZ保存并退出(命令模式):q!放弃修改并退出vim(命令模式):e!*放弃修改并返回命令模式(命令模式)

分支

  1. 常用操作

操作含义git branch 名称创建分支git branch -b 名称创建分支,并切换到新创建的分支git branch -v查看所有的分支git checkout 分支名切换分支git merge 分支名A**将分支Agit branch -m 名称A 名称B将分支A的名字修改为Bgit branch -m 名称A将当前分支改名为名称A

  1. 合并与冲突

冲突的产生:在要合并的两个分支中修改了相同的文件,然后分别添加到暂存区、提交到本地库之后在进行合并就会产生冲突。以下是冲突产生的一个例子:

在这里插入图片描述

冲突的解决方法:

(1) 首先打开文件(vim 文件名)
在这里插入图片描述

有三行特殊符号
<<<<<<HEAD
内容一
=======
内容二
>>>>>>> 分支A的名称

/**
其中,HEAD 指向的是当前的分支
内容一部分是当前分支修改的内容
内容二部分是分支A修改的内容
*/

(2) 切换到编辑模式,手动修改最终要保留的内容,最后再删除那三行特殊符号,然后保存并退出vim

(3)将文件添加到暂存区(git add 文件名)

(4)将文件提交到本地库(git commit -m “文件描述”)!!!注意此处不再添加文件名

团队协作

团队内协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

GitHub部分

远程库操作

操作含义git remote -v查看当前所有远程地址的别名git remote add 别名 远程库地址为远程库起别名git push 别名/远程库地址 分支A推送本地分支A上的内容到这个别名对应的远程仓库的分支A(如果远程库没有A分支,则重新创建)git push 别名/远程库地址 分支A:分支B****推送本地仓库的分支A到远程仓库的分支Bgit clone 远程地址将远程库的内容克隆到本地git pull 远程库地址别名 远程分支A将远程库分支A的最先内容拉取下来后直接与本地当前分支合并

注意点:
  1. 远程库一般与本地库的名称一致
  2. 远程库别名一般与远程库名一致
  3. clone操作的三个小步骤:(1)拉取代码; (2)初始化本地库; (3)初始化分支名(默认为origin)
  4. 有多个账号在进行push、pull的时候,要去“凭据管理器”将其他的账号凭据删除才能进行

团队内协作

clone到本地库,然后修改完善,add到暂存区、commit到本地库、push到远程库(需要权限,如下)

邀请成员协作步骤:

settings -> manage access -> invite a collaborator -> 输入对方账号 -> 产生邀请函 -> 复制邀请函 -> 浏览器复制链接 -> 同意推送

-> 得到push权限

跨团队协作

协作步骤:

方法一:同团队协作

方法二:进入到项目 -> fork -> 在线编辑完成 -> pull request -> new pull reuest -> creat pull request -> 对方审核 -> merge pull request -> confirm merge

标签: git github 开源

本文转载自: https://blog.csdn.net/m0_73777400/article/details/140966535
版权归原作者 懒羊羊大王呀 所有, 如有侵权,请联系我们删除。

“Git和GitHub:开启你的开源之旅(入门级干货教程)”的评论:

还没有评论