NO.A.0003——Git下将java工程推送到远程仓库,实现代码交换
一、将Java工程提交到本地仓库并推送到远程仓库:
1、拷贝Java项目文件夹到.git的工作目录下:
- 在HelloProjet文件夹右键——>TortoiseGit——>添加——>确定(文件上会有一个+号出现)Java项目已添加到暂存区——>END
忽略部分不需要添加到本地版本库的文件:
- 选中需要忽略的文件——>TortoiseGit——>删除并添加到忽略列表——>根据名称删除和忽略——>选择:递归忽略文件和目录:.gitgnore放在文件/文件夹所在的目录(图二)——>确定——>会产一个.gitignore(是忽略的文件名)文件——>END

图一

图二
- gitignore也需要添加到本地版本库中:gitignore右键——>TortoiseGit——>添加——>确定——>END
- 右键——>TortoiseGit(T)——>版本库浏览器——>可以查看到我们添加到本地版本库的HelloProjet项目文件

2、创建本地仓库,远程仓库,并把本地仓库源代码推送到远程仓库进行代码交换:
在本地版本库的工作目录下创建本地仓库:E:\GitHub Repository\Repository\repo1
在github上面创建仓库:repo1

3、Github支持https和ssh传输方式:
Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。如果使用ssh方式就需要客户端先生成一个密钥对,即一个公钥一个私钥。然后还需要把公钥放到githib的服务器上。这两种方式在实际开发中都用应用,所以我们都需要掌握。接下来我们先看ssh方式。
ssh协议:
- 什么是ssh:SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
基于秘钥的安全验证:
- 使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
3.1、SSH秘钥生成:
在windows下我们可以使用 Git Bash.exe来生成密钥,可以通过开始菜单或者右键菜单打开Git Bash
- 在本地版本库工作目录下:右键——>Git Bash Here——>$ ssh-keygen -t rsa(图一)——>在C:\Users\Administrator\.ssh目录下生成私钥、公钥文件(id_rsa(不可泄露)、id_rsa.pub(告知GitHub服务器))(图二)——>END

图一

图二
3.2、ssh秘钥配置:
- 复制id_rsa.pub里面的内容——>GitHub上点击头像——>settings——>SSH and GPG keys——>SSH keys——>New SSH key——>将拷贝的秘钥添加到GitHub上(图二)——>END

id_rsa.pub公钥文件内容

图二
4、将本地版本库中的源代码推送到远程仓库:
4.1、使用ssh的方法推送
方法一:在GitHub上创建远程你仓库repo1
- 在git的工作目录下——右键——Git Bash Here——>推送项目源码到GitHub远程仓库(图一)——>查看GitHub远程仓库文件推送是否成功——>END

图一
方法二:在GitHub上创建仓库repo2:
方法二:在GitHub上创建仓库repo2:
- 在git工作目录下——>右键:Git同步——>远端URL:管理(图一)
- 网络——>确认网络是否是ssh——>浏览:Git安装目录——>D:\GitHub\Git\usr\bin\ssh.exe——>END
添加私钥:C:\Users\Administrator\.ssh\id_rsa.pub
- 添加远端(与远程仓库建立关联关系)——>远端:origin——>URL:GitHub远程仓库地址(ssh)——>Putty秘钥(确认网络是否为ssh.exe)选择我们私钥的地址——>添加——确定——>推送(图一)——>在GitHub上查看源码推送是否成功(图二)——>END

图一

图二
4.2、https的方式推送:
在GitHub上创建远程仓库repo3:
- 在git工作目录下:右键:Git同步——>远端URL:管理——>添加远端(与远程仓库建立关联关系)——>远端:origin1——>URL:GitHub远程仓库地址(https)putty秘钥不需要,我们需要用户名和密码——>添加——确定——>推送:GitHub用户名和密码(图一)——>在GitHub上查看源码推送是否成功——>END

图一
5、克隆远程仓库到本地:两种方式:ssh、https
在git的工作目录下创建目录:clone-repos
方式一:ssh的方式克隆
- 在clone-repos目录下——>右键——>Git Bash Here:git clone 远程仓库地址(图一)——>在clone-repos目录下查看repo1文件是否clone成功——>END

方式二:https的方式:
- 在clone-repos目录下——>右键——>Git克隆——>URL:GitHub仓库地址——>目录:clone-repos\repo1——>确定——>在clone-repos下可以查看到repo1源码(图一)——END

图一
6、冲突解决:推送代码时冲突解决,推送、拉取同步:
推送:在git工作目录repo1下新建hello3.txt文件并推送到本地仓库中:(把本地仓库的变化推送到远程仓库)
- 在git工作目录repo1下——>右键:Git同步——>选择远端URL:origin(repo1)——推送——>在GitHub:repo1下查看文件——>END

拉取:GitHub远程仓库repo1下文件发生变化,开发人员向同步数据至自己本地仓库:(把远程仓库的变化拉取到本地仓库)
在git的工作目录repo1下——>右键:Git同步——>远端URL:选择仓库地址——>拉取——>在repo1下就可以查看到更改后的文件——>END
6.1、拉取不同步:
在repo1中修改hello.txt文件内容——>提交到本地仓库——>推送到GitHub远程仓库repo2
- 在clone-repos\repo2下修改hello.txt文件内容——>提交到本地仓库——>推送到GitHub远程仓库repo2——>文件推送不成功(图一)(因为不是在原文件上做的修改)——>拉取(把远端的修改拉取到本地)——>文件会产生冲突(图二)(因为在另一个仓库中修改文件,当前仓库也修改过文件;会产生冲突;——>打开!hello.txt文件(图三);删掉一些注释信息——>右键——>TortoiseGit :解决冲突(O)——>提交到本地仓库(提示合并信息)——>提交——>在GitHub远程仓库可以查看到我们解决冲突后合并的文件内容(图四)——>END

图一

图二

图三

图四
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
<wiz_marker id="wiz-painter-root" style="">
分类:
yqv002-bookmarks
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」