git与GitHub多人协作

1、git是什么?

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

Git有什么特点?简单来说就是:高端大气上档次!

2、版本管理工具的分类

1.svn (集中式)

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。

2.git(分布式)

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。  

3、下载git

Git

CNPM Binaries Mirror

 

 

 

 

2、安装

默认安装 ,直接下一步。

3、安装成功

 1.win+r 调出运行窗口

2.输入cmd 调出命令行工具(终端)

3.输入 git --version 显示git版本号,表示git安装成功

4、使用git

1、创建本地版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1.首先,选择一个合适的地方,创建一个空目录: 例如文件名为 QY133_NB的文件夹,里面可以随便放一些文件,文件夹等等

 

2.通过 git init 命令把这个目录变成Git可以管理的仓库:

 

进入文件目录后,输入git init,生成git可以管理的仓库

 

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的大聪明可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

 

如果没有看见这个文件夹,因为.git文件夹是隐藏的文件夹,可以通过查看,勾选隐藏的项目勾选出来

 

第二种创建方法:

在需要创建git版本库的文件夹下

按shift键后右键

点击 在此处打开Powershell 窗口(s)

 

输入 git init 命令,同样可以创建git版本库

 

第三种方法:

 

在vscode文件夹下,右键,在集成终端打开,输入 git init命令即可

3、常规开发项目

创建项目,正常写代码 代码一定要放到git仓库目录下,因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。

4、提交到本地仓库

 第一步:git status 检查版本库的状态

  • 第二步,用命令git add <file>告诉Git,把文件添加到仓库 git add . 提交全部【注意,后面带点 git 空格 add 空格 点】

  • 第三步,用命令git commit -m '提交说明'告诉Git,把文件提交到仓库

  • 第四步,提交时,会提示配置用户 git config --global user.name ‘username’ //username是你的git账号 git config --global user.email ‘email ‘ //email是你的git邮箱

 

如果提示让输入用户名,接下来输入命令:

git config --global user.email "邮箱地址"             //回车
git config --global user.name "张三"                     //回车

 

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

5、初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;

  2. 使用命令git commit -m ‘message’,完成。

 

6、版本回退

在Git中,我们用git log命令查看,提交的历史记录

 

7、回退

现在我们启动时光穿梭机,准备把 index.html 回退到上一个版本,也就是第三次添加10个li标签的那个版本,怎么做呢?

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交6d20e733...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在,我们要把当前版本第四次添加类名four的divb标签回退到上一个版本第三次添加10个li标签,就可以使用git reset命令:

git reset --hard HEAD^

 

 

8、后悔药

回退的过分了,后悔了。只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个某个版本的commit id是33d9d598d123bb1327ba2abd9b73b725000abd9c,于是就可以指定回到未来的某个版本: git reset --hard 33d9d598d 版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

 

如果命令行已经关闭了,怎么办呢??记不住版本号了吧?  

 Git提供了一个命令git reflog用来记录你的每一次命令:

5、远程仓库(GitHub)

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。

1、注册账号

1.自行注册GitHub账号

 

 

登陆后界面:

 

 

2、新建一个远程仓库

 

 

 

2.本地Git仓库和GitHub仓库之间的传输是通过SSH加密,查看秘钥

Git bash 下查看 ,右键,点击Git Bash Here

 

ls -al ~/.ssh 检查ssh keys是否存在  

此命令窗口 不支持ctrl+v粘贴 需要右键 点击 paste

如图:表示不存在秘钥

ssh-keygen -t rsa -C ''xxx'' 添加一个ssh

 

 

ssh-add ~/.ssh/id_res 生成新的key

-t = The type of the key to generate 密钥的类型

-C = comment to identify the key 用于识别这个密钥的注释

So the Comment is for you only and you can put anything inside. Many sites and software are using this comment as the key name. 所以这个注释你可以输入任何内容,很多网站和软件用这个注释作为密钥的名字

 本地管理员目录会出现一个.ssh文件夹

里面有id_rsa和id_rsa.pub两个文件,

这两个就是SSH Key的秘钥对,

id_rsa是私钥,不能泄露出去,

id_rsa.pub是公钥,可以放心地告诉任何人。

登陆GitHub,打开“Account settings”,“SSH Keys”页面:

 

点击new SSH key

 

 

 

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

 

 ssh -T git@github.com 检测是否建立连接

显示该内容,表示不成功

 

2、添加到远程仓库

1.创建远程仓库

2.本地仓库添加到远程仓库  

点击要提交的远程仓库:

 

 

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

 

从现在起,只要本地作了提交,就可以通过命令: git push origin master

3、GitHub Pages

 

 

 

6、克隆远程仓库

上面,我们讲了先有本地库,后有远程库的时候,如何关联远程库。 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。 首先,登陆GitHub,创建一个新的仓库,名字叫xxx: 现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:

登陆gitHub,点进项目,选择code,选择ssh,复制地址,当前地址就是我们克隆项目的地址

 

如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

1、新建文件夹,输入cmd

 

2、输入命令:

git clone  复制的地址

回车 克隆完成

 

克隆完成,文件下载至本地

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub 上进行多人协作可以通过以下步骤完成: 1. 创建一个项目仓库:在 GitHub 上创建一个新的仓库,或者将现有的本地仓库推送到 GitHub。 2. 添加协作者:进入项目仓库页面,在右上角的"Settings"选项中找到"Manage access"或"Collaborators"选项,点击添加协作者。输入协作者的 GitHub 用户名并选择权限级别,然后发送邀请。 3. 接受邀请:协作者会收到一封邀请邮件或通知。他们需要点击接受邀请以接受你的邀请。 4. 克隆仓库:每个协作者都需要克隆项目仓库到本地计算机。使用 `git clone` 命令克隆仓库,并通过 `git remote add` 命令将远程仓库与本地关联。 5. 创建分支:每个协作者应在本地创建自己的工作分支(branch)。这样可以避免直接在主分支(通常是 `master` 或 `main`)上进行更改。 6. 进行更改:协作者可以在自己的分支上进行更改、提交和推送。他们可以使用 Git 的基本命令(如 `git add`、`git commit` 和 `git push`)来管理更改。 7. 提交合并请求:当协作者完成一项任务或一系列更改时,他们可以提交合并请求(pull request)将自己的分支合并到主分支中。 8. 代码审核:其他协作者或项目维护者可以审查和讨论合并请求中的更改。他们可以提供反馈、建议修改或讨论任何相关事项。 9. 合并更改:一旦合并请求经过审核,并且没有冲突或问题,项目维护者可以将更改合并到主分支中。 10. 更新本地仓库:一旦主分支上的更改已经合并,协作者可以使用 `git pull` 命令将最新更改从远程仓库拉取到本地仓库。 以上是一个基本的多人协作流程,你和其他协作者可以重复进行这些步骤来共同开发项目。在这个过程中,沟通、代码审查和合作都是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值