一篇文章玩转 git --> Github (本地仓库提交到远程仓库问题)

简介: Git是一个免费的、开源的版本控制软件。版本控制是一种记录一个或者若干个文件内容变化,以便将来查询阅读特定版本修订情况的管理系统。Github是全球最大的设计编程以及代码托管网站Github官网,Github可以托管各种git库,并提供一个web界面。GIt是版本控制软件,Github是项目代码托管的平台,借助git来管理项目代码。Github可以学习到优秀的开源项目,关注行业前辈了最新的行业动态以及最前沿的技术。

使用git将本地项目推送到远程仓库Github


如何将本地的仓库提交到远程仓库进行管理?Git是一个免费的、开源的版本控制软件。版本控制是一种记录一个或者若干个文件内容变化,以便将来查询阅读特定版本修订情况的管理系统。Github是全球最大的设计编程以及代码托管网站Github官网,Github可以托管各种git库,并提供一个web界面。GIt是版本控制软件,Github是项目代码托管的平台,借助git来管理项目代码。 Github可以学习到优秀的开源项目,关注行业前辈了最新的行业动态以及最前沿的技术。


git常用命令流程图

微信截图_20220607185045.png


准备工作


安装好git软件

注册好Github账号


使用方法


1. 首先创建一个本地的版本库(即创建一个文件夹)


你可以直接右键点击新建文件夹,也可以打开git-bash.exe命令窗口通过命令来创建。

现在我通过命令行新建一个test文件夹(你也可以在其他的任何地方创建这个文件夹 注意:在哪个文件夹中打开git-bash.exe命令,就在该文件夹下创建一个新的版本库),并且进入该文件夹下。

微信截图_20220607185205.png

2. 进入刚才创建的版本库test (使用 cd +文件夹名称命令进入指定的文件夹)

微信截图_20220607185301.png

3. 查看当前在哪个版本库中,即查看当前在哪个路径之下(绝对路径),确定是否在 test 版本库中。(使用pwd命令进行查看)

微信截图_20220607185447.png

4.  通过命令 git init 把这个版本库变成Git可管理的仓库。

微信截图_20220607185554.png


注意 :

在路径的最后边出现了带括号的master (master)说明此时将test的这个版本库提交到了git的主分支master上.

这时你会发现在test里面多了个 .git文件夹,他是Git用来追踪和管理版本库的。

如果你看不到,是因为它默认时隐藏文件,那你就需要设置一下让隐藏文件可见。

这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴之后你可以通过  git status . 来查看你当前的状态)

此时还没有将文件添加到暂存区中,所有会显示 nothing to commit ,代表没有任何的文件。

微信截图_20220607185648.png


5. 使用命令 git add . 把项目添加暂存区里面去,不要忘记后面的小数点”.“,意为添加该文件夹下的所有文件


第一种 :git add .  : 代表将该文件夹下的所有文件都添加到暂存区里面。

微信截图_20220607185805.png


第二种 :git add 文件名称 : 代表将指定的文件添加到暂存区里面。

微信截图_20220607185851.png


注意 :绿色的代表添加到该版本库中成功  红色的代表没有添加到该版本库中

在这个过程中你其实可以一直使用status来查看你当前的状态。


**6.  用  git commit -m "第一次提交"  把项目提交到仓库。 **


-m 后面的双引号里面是本次提交的注释内容,这个可以不写,但是最好写上,不然会报错。到此,我们本地Git仓库这边的工作做完了,下面连接远程仓库(也就是连接Github)

微信截图_20220607185932.png

create mode 100644 :代表创建模式 100644

100代表regular file(常规文件),644代表文件权限


7. 远程仓库设置


由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:

7.1 创建SSH

  • 已有ssh密钥:先看一下你的C盘用户目录下有没有.ssh目录,有的话看下里面有没有  id_rsa  和  id_rsa.pub  这两个文件,有的跳到下一步。

微信截图_20220607190039.png

cd ~/.ssh :此命令是查看是否配置过密钥 (如果不报错说明配置过,如果报错说明没有配置过)

ls : 此命令是查看配置过密钥的列表

id_rsa.pub : 这个是公钥文件

  • 创建新的ssh密钥
  • 第一种方式:
    1.输入命令:cd ~
    2.然后输入:ssh-keygen.exe

微信截图_20220607190144.png

  • 第二种方式 :
    首先输入ssh-keygen -t rsa -C "邮箱名称" 这个命令,然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件。
    7.2 登录Github —>点击右上角的图标 —>选择Settings —>点击左边的SSH and GPG KEYS —>点击右上角的New SSH key —>Title随便填 —>把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面 —>最后点击Add SSH key —>完成SSH Key的加密。具体步骤如下:微信截图_20220607190302.png
    7.2 在Github上创建一个Git仓库。
    微信截图_20220607190411.png

8. 在Github上创建好Git仓库后通过命令git remote add origin 想要传输到的Github仓库的SSH和本地仓库进行关联

微信截图_20220607190448.png

此时这里的输入的命令是 :git remote add origin git@github.com:YunboCheng4379/test.git

微信截图_20220607190605.png

注意 :不出现任何的错误信息表示连接成功过

注意 :  origin 后面加的是你Github上创建好的仓库的地址。

微信截图_20220607190641.png

9. 关联好之后通过命令git push -u origin master将本地库的所有内容推送到远程仓(Github)

微信截图_20220607190716.png

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需 git push origin master


刷新Github页面进入刚才新建的仓库里面就会发现项目已经上传成功

微信截图_20220607190843.png

至此完成将本地项目上传到Github的整个过程。


注意有坑: 在上面第5步新建远程仓库的时候如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第7步你将本地仓库内容推送到远程仓库的时候就会报一个 failed to push some refs to github.com/guyibang/TE… 的错。


原因: 由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过 git pull --rebase origin master 命令先将内容合并,此时再push就能成功了。


补充:

  • 生成公钥和密钥

ssh-keygen -t rsa;

  • 配置个人信息

git config --global user.name "abc"

git config --global user.email 2484720940@qq.com

  • 查看已有的配置信息

git config --list

  • Git 中从远程分支获取最新的版本到本地有两个命令

git fetch : 相当于是从远程分支获取到最新版本到本地,不会自动merge(合并代码)

git pull : 相当于是从远程仓库获取到最新版本并 merge到本地

git pull = git fetch + git merge


总结:本地项目通过git上传到github


1)、在本地创建一个版本库(即文件夹),通过 git init 把它变成Git仓库; 2)、把项目复制到这个文件夹里面,再通过 git add . 把项目添加到仓库; 3)、再通过  git commit -m "注释内容" 把项目提交到仓库; 4)、在Github上设置好SSH密钥后,新建一个远程仓库,通过  git remote add origin 想要传输到的Github仓库的SSH  远程仓库地址将本地仓库和远程仓库进行关联; 5)、最后通过  git push -u origin master  把本地仓库的项目推送到远程仓库(也就是Github)上。



相关文章
|
11月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
7790 1
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
2641 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
13436 11
|
11月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
541 0
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
533 10
|
开发工具 git
vscode推送项目到github仓库故障解决1
本文介绍了如何优雅解决本地仓库与远程仓库历史记录不一致的问题,并提供避免未来问题的最佳实践。核心在于理解问题根源(如历史记录差异和常见原因),采用推荐的解决方案(先本地初始化再关联远程仓库),并遵循一致的工作流程、团队协作规范及熟悉 Git 命令。通过强制推送或合并无关历史记录等方式处理现有冲突,同时养成良好习惯以预防类似问题。
|
Web App开发 Shell 开发工具
Github客户端以及Git shell的使用
昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢。所以,今天就来介绍一下,怎么来做版本控制吧。
1178 0
|
9月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
347 0
|
8月前
|
人工智能 JavaScript 前端开发
Github 2024-10-28 开源项目周报 Top15
本周GitHub热门项目涵盖Svelte、Open Interpreter、PowerShell等,涉及Web开发、AI助手、自动化工具等领域,Python、JavaScript为主流语言,展现开源技术活跃生态。(239字)
772 19
|
8月前
|
人工智能 JavaScript 前端开发
Github 2024-11-04 开源项目周报 Top14
本周GitHub热门项目涵盖屏幕截图转代码、网页监控、低代码开发等。Python与TypeScript主导,亮点项目包括AI生成代码工具、开源社交应用Bluesky及机器人框架LeRobot,展现AI与自动化技术的快速发展趋势。
445 15