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



相关文章
|
3月前
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
102 0
|
3月前
|
开发工具 git
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
127 0
|
4月前
|
存储 开发工具 git
Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义
Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义
71 0
|
6天前
|
存储 开发工具 git
|
6天前
|
开发工具 git
git上传和下拉远程仓库
git上传和下拉远程仓库
|
9天前
|
Linux 网络安全 开发工具
git初始化管理远程仓库
git初始化管理远程仓库
5 1
|
10天前
|
开发工具 数据安全/隐私保护 C++
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
13 0
|
10天前
|
开发工具 git
【git】如何删除git远程仓库上的文件
【git】如何删除git远程仓库上的文件
13 1
|
12天前
|
前端开发 JavaScript 网络安全
Git(3) 使用Github管理项目
Git(3) 使用Github管理项目
25 0
|
25天前
|
开发工具 git
git如何创建新分支,GitHub默认分支是main怎么连上
git如何创建新分支,GitHub默认分支是main怎么连上
12 0