一篇文章玩转 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)上。



相关文章
|
2天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
2月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
119 1
|
2月前
|
Linux 网络安全 开发工具
IDEA如何配置git和github
【11月更文挑战第14天】本指南详细介绍了如何在 IntelliJ IDEA 中配置 Git 和 GitHub,包括检查和设置 Git 路径、测试配置,以及通过 SSH 或 HTTPS 方式配置 GitHub 仓库的具体步骤。完成配置后,用户可在 IDEA 中轻松进行版本控制操作。
200 0
|
3月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
313 0
|
3月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
82 0
|
3月前
为什么 GitHub Pages 的文章标题不能以 @ 开头?
本文记录了一个 GitHub Pages 博客网页上文章标题以 `@` 开头导致的问题,并分析了原因,提供了解决方法。
47 0
|
4月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
4月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
|
4月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
6月前
|
网络安全 开发工具 数据安全/隐私保护
Git远程仓库Gitee的使用详解
Git远程仓库Gitee的使用详解
Git远程仓库Gitee的使用详解