前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式版本控制系统Git 二:操作GitHub

分布式版本控制系统Git 二:操作GitHub

作者头像
Java_慈祥
发布2024-08-06 13:54:05
880
发布2024-08-06 13:54:05
举报
文章被收录于专栏:Web前后端、全栈出发

分布式版本控制系统GitHub

本篇文章建议与上一篇 一起食用效果更佳

话不多说进入正题!

git和github概念:

Git:

是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具

Github

  • github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的远程仓库 你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码 同时别人也可以帮你修改你的代码,这种 开源 的方式非常方便程序员之间的交流和学习。

总结来说,git可以认为是一个软件,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。

使用Github

  • github 是有墙的,比较慢
  • 在国内的话,我们一般使用 gitee
  • 公司中有时候会搭建自己的 使用:gitlab服务器

1. 首先注册:github账号了

github 这个是老外开发的所以, 纯英文...可以用浏览器翻译..

2. 创建SSH Key密钥

打开Git Bash,输入下面的命令,然后一路回车 ssh-keygen -t rsa -C '自己的邮箱'

使用前, 确保自己本地安装git 账户/邮箱 与github匹配

代码语言:javascript
复制
# 配置全局用户名
git config --global user.name '输入用户名'

# 配置全局邮箱
git config --global user.email 'xxx@qq.com' 
# 这里配置的是全局的用户名和邮箱,也可以为每一个项目配置一个,这里就不演示了。

接下来去C:\Users\Administrator windows操作:系统盘/用户/管理员/目录下

  • 会发现多了一个.ssh的文件夹,生成的密钥就再这里面。
  • id_rsa是自己的密钥,id_rsa_pub是公钥,就是对外的密钥 把它提供给需要连接的github,你就可以连接了。

3. github添加本地公钥

进入到github设置中,找到SSH and GPG Keys

4. 测试连接

ssh -T git@github.com

输入 命令,测试本地git 与 github测试连接,

第一次测试连接需要输入验证**确认连接**:yes/no 输入yes即可!

  • 此时在 C:\Users\Administrator.ssh 路径下生成了一个known_hosts的文件
  • 里面内容是github的一些信息,标识已经与github建立连接,已经被识别。
在这里插入图片描述
在这里插入图片描述

本地git ——>上传——> github push

将本地的项目上传到github上面

首先必须得在github上面创建一个空仓库。

本人创建了一个 CSwrok**测试目录**…

与本地仓库 , 建立连接

第一次创建好之后就会展示这个页面:

  • 这是一个空的远程仓库, 需要与本地仓库进行连接才能使用!
  • 可以根据上面官方提供好的命令进行连接!
本人事先准备一个本地仓库 work

接下来就是:本地仓库 与 远程仓库进行 连接

为远程仓库起别名
  • 可以看到 远程仓库的地址,那我们每次拉取(下载)代码,或者上传代码都使用这个
  • 这个地址是很麻烦的,也很难记住,所以我们要为这个地址起一个别名,以后拉取上传都使用别名代替地址。
代码语言:javascript
复制
 git remote add 别名 远程地址 
 #例子:git remote add origin http://...     给远程地址起别名:origin
 
 git remote -v  #查看远程地址别名,如果设置没有的哟;

 #如果出现这个错误:fatal: remote origin already exists. 别名已存在,可以删除...在重新配置一个/换个名字
 git remote rm origin  	#(删除关联的origin的远程库)
 
 #fatal: not a git repository (or any of the parent directories): .git 则是表示你的本地仓库没有 .git文件(没有被管理)
 git init 	#即可!!
推送本地代码到GitHub仓库

推送, 就相当于是:将本地仓库 和 远程仓库进行同步~ 第一次操作即可!

代码语言:javascript
复制
git push 别名 分支名			#要推送的分支~ (一般来说公司中不同分支做不同的事情的!)

git push -u 别名 分支名 		#-u指定默认主机
#例子:git push -u origin master  (推送当前主机,master主分支...)

上传, 还需要输入 邮箱/密码 用户名 进行验证:**毕竟进行远程上传很多人都可以下载...安全第一**

下载GitHub仓库代码 clone/pull

代码语言:javascript
复制
git clone 远程地址
	#完整的把远程库下载到本地	创建 origin 远程地址别名	初始化本地库 .git (在本地该目录下远程下载个一模一样的本地仓库!)

git pull 别名 分支名 

下载GitHub仓库 clone

  • 第一次下载是从无到有的操作,使用 git clone 后面可以直接在原有文件使用 git pull 命令更新文件代码
  • 克隆下来的文件不推荐在主分支 master 里面做开发
  • 1.github 每个远程仓库都有一个自己的 远程连接 通过连接进行 clone/pull
  • 2.为了区分, 我创建了一个 zhangsan 文件夹。模拟某一个用户远程下载仓库 进行开发~ 直接在zhangsan目录下 Git Bash 执行:git clone 远程地址 就开始拉取远程仓库的工程了!(github上有很多开源的项目可以去找拉取下拉学习~开发…) 它会把整个仓库都拉取下来:到你自己的本地仓库,你可以进行二次开发...也可以通过 pull进行更新同步....

拉取代码 pull

  • 如果本地存在 clone 下来的代码 在拉取远程github的代码就不需要使用 clone克隆(复制)操作,可以使用 pull对本地文件进行更新
代码语言:javascript
复制
git pull origin(别名) 分支名 #第一次 clone 时候就自动生成了一个别名!
#等价于
git fetch origin 分支名		#会把远程文件拉取到本地库,不会直接和本地原来文件合并(可以有个缓冲,查看完远程文件后再合并

git merge origin/分支名		#合并

修改文件 推送 远程版本库github push

开发者下载下来某个工程之后, 进行二次开发。修改 在次上传同步 本地/远程的代码...

其实就是 push 然后需要进行以下操作

  • 修改后,本地要先 添加到暂存区
  • 提交到本地版本库
  • 推送到远程版本库
  • 要确保 git status 没有未 commit的文件即可 推送

本地项目与github项目关联了之后

  • AB用户 clone 仓库
  • A修改提交: 相当于别人修改了文件,提交到了远程版本库github中。 B还是 之前的版本不受影响!
  • B可以通过 pull进行 拉取更新

公共的仓库都可以下载,但是能够修改 push的只能是 仓库主人邀请的开发者才可以 push

work 修改提交 远程仓库 push

zhangsan下并没有同步!

zhangsan pull 同步远程仓库!

冲突情况处理

比如现在我在github上面修改了文件,然后再本地也修改了同一个地方,那么就会出现冲突的情况。

Github

Git

注意:这里的本地代码已经commit提交到本地版本库了。 这个时候,如果本地push代码的话,会提示错误。

所以一般在推送push到远程版本库之前,先拉取pull一下远程代码库的代码

  • 可以看到a.txt文件有冲突,然后命令行进入到了MERGING模式
  • 这个时候我们可以打开a.txt,把冲突的地方解决掉 然后把a.txt加入到暂存区,然后commit,然后push,就OK了。👍

邀请别人加入团队

只有被邀请的开发者才可以对,仓库进行**push 修改提交**

首先是仓库创建者:

  • 步骤一:点击settings
  • 步骤二:找到Manage access并点击
  • 步骤三:点击 Invite a collaborator
  • 步骤四:输入被邀请人的名字或者邮箱,回车确定
  • 步骤五:点击提交
  • 步骤六:复制邀请链接,发送给被邀请人(也可以省略,GitHub会发送邮件给被邀请人)
  • 步骤七:被邀请人登录在浏览器地址栏输入邀请者的网址,点击Accept invitation就完成了邀请操作

SSH免密登录

基于HTTP/HTTPS操作 push 代码的时候,每次都需要输入用户名密码

比较麻烦,可以使用 SSH 在本地和远程建立安全连接,以后提交代码就不用输入用户名密码了!

局限性:只能为一个账号设置 SSH

步骤如下:

以下来源于:大佬

  • 打开 Git 命令 输入 cd ~ 进入当前用户的家目录
  • 删除.ssh 目录(为了测试我删除了本地的)rm -rvf .ssh
  • 运行命令生成 ·.ssh· 密钥目录(注意 C 是大写) ssh-keygen -t rsa -C 你的github注册邮箱
  • 复制 ssh-…的文件 修改新生成的 公钥!

GitHub分支合并!

Idea 操作Github

idea 只是工具,强大的工具内部集成了Github 可以直接下载/上传…操作Github 很有必要了解…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分布式版本控制系统GitHub
  • git和github概念:
    • Git:
      • Github
      • 使用Github
        • 1. 首先注册:github账号了
          • 2. 创建SSH Key密钥
            • 3. github添加本地公钥
              • 进入到github设置中,找到SSH and GPG Keys
            • 4. 测试连接
              • 本地git ——>上传——> github push
                • 首先必须得在github上面创建一个空仓库。
                  • 与本地仓库 , 建立连接
                    • 本人事先准备一个本地仓库 work
                    • 为远程仓库起别名
                    • 推送本地代码到GitHub仓库
                • 下载GitHub仓库代码 clone/pull
                  • 下载GitHub仓库 clone
                    • 拉取代码 pull
                    • 修改文件 推送 远程版本库github push
                      • work 修改提交 远程仓库 push
                        • zhangsan pull 同步远程仓库!
                          • 冲突情况处理
                          • 邀请别人加入团队
                          • SSH免密登录
                            • 步骤如下:
                            • GitHub分支合并!
                            • Idea 操作Github
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档