Git客户端与GitHub服务器配置使用

举报
DS小龙哥 发表于 2022/06/27 14:09:05 2022/06/27
【摘要】 Git是一个分布式的文件托管系统,当然这里的文件主要是源代码(文本),也可以包含其他非文本的二进制数据。GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub,GitHub可以托管各种git库,并提供一个web界面。

Git是一个分布式的文件托管系统,当然这里的文件主要是源代码(文本),也可以包含其他非文本的二进制数据。GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub,GitHub可以托管各种git库,并提供一个web界面。

Git客户端与GitHub服务器配置使用

一、Git介绍

1.1 Git到底是什么?

Git是一个分布式的文件托管系统,当然这里的文件主要是源代码(文本),也可以包含其他非文本的二进制数据。由于git主要用于存储代码(.java .c .cpp .h .jar .class... ),所以以后我们就把用代码来表示文件了。

git包含了完善的客户端和服务端,客户端和服务端之间通过某种安全通信 协议(HTTPS或者SSH)进行文件的上传和下载。

最常用常见的git客户端是git-scm,它提供了不同操作系统的版本。

链接: https://git-scm.com/downloads

Git客户端安装在本机。所以我们的文件可以在本机创建仓库。

Git服务端可以是个公司的私有git服务器,也可以使用一些开源的git服务器,例如github。Github是一个网站,后台使用了git技术,前端使用了web技术。

Github网站(https://github.com/)是一个开源的代码托管系统。全世界的开发者(包括其它领域例如UI设计师)都在使用,也都知道它的存在。因为github是一个平台,很多开源软件就放到上面去。包括linux源代码也托管在github上。对小白来说,只要你会找,你想要的功能在github上几乎都有开源的技术方案。对大牛来说,我开发了一个很牛逼的框架或技术,为了让更多人的人免费使用这种技术,或者是为了让更多的人参与到我的项目来,亦或是会为了装逼让更多的人知道我很牛逼...技术大牛就会把自己开发出来的代码全部上传到自己的github空间上。

现在至少你了解了git和github的关系了吧。

1.2 为什么使用git ?

有几个原因,可以作为你必须要使用git的理由。

1.​ 云盘功能。类似百度网盘。

2. 版本管理。最强大的一点莫过于此。Git提供了版本管理的功能。可以让你很轻松的将一个工程下的代码,通过几条命令就上传到远程仓库。同样的道理,如果想回退,也只需几条命令,就能轻松回退到某个版本之前的状态。更多精彩后续...

3. 团队开发。团队开发就是多个人对同一份代码进行编写和修改。你可以理解为多线程竞争一个资源。不过你放心,git为你提供了很好的机制,保证团队开发之间畅通无阻。很多公司都会使用git作为代码的存储仓库。

4. 别人都用了,你不用。你不就out了吗?很多技术,不是你不想用,可能是你没有发现它的好,没有时间或者没有一个很好的领路人。所以导致你内心是拒绝它的。殊不知,只要稍微跟对了老司机,开发者这条路上就可以一路火花带闪电畅通无阻。

1.3 win10系统下载Git软件

下载地址: https://git-scm.com/downloads

图1-1

图1-2 开始下载

如果官网下载比较,可以使用阿里云的镜像下载: https://npm.taobao.org/mirrors/git-for-windows/

图1-3 下载Git

1.4 win10系统安装Git软件

图1-4

图1-5

图1-6

图1-7

图1-8

图1-9

图1-10

图1-11

图1-12

图1-13

图1-14

图1-15

图1-16

图1-17

二、GitHub介绍

2.1 github是什么?

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub,GitHub可以托管各种git库,并提供一个web界面。

github是一个网站,前端是web,后台是git。

其官网是https://github.com/。所以它就是一个开源的git服务器。你可以暂时理解为百度网盘(但和网盘有差异),只要我们在里面github上注册账号之后,github就会为我们分配空间。我们就可以创远程存储仓库

2.2 为什么要使用github呢?

那因为使用git主要就是学会使用git客户端和git服务端如何使用。Gi服务器可以选择自己搭建,也可以使用别人提供的git服务端。Github就是免费的git服务端。

作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

2.3 注册GitHub账号

官网地址: https://github.com/

图2-1

图2-2

图2-3

图2-4

图2-5

图2-6

图2-7

图2-8

图2-9

图2-10

图2-11

图2-12

想系统的了解GitHub可以看阅读指南:

图2-13

点击左上角头像(默认一只猫),可以回到主页面,在左边的窗口里可以看到创建的代码仓库。

图2-14


点击代码仓库,进入到管理页面,可以看到Github提供的帮助说明; Github支持桌面方式、命令方式管理代码仓库。

图2-15

2.4 Git三大重要的区域

工作区:简单理解就是需要进行版本的某个文件夹(假设为test),这个文件夹有一些特殊之处——多了.git这个隐藏的文件夹

版本库:test文件夹下的.git文件夹就是版本库。

暂存区:暂存区可以理解为一个虚拟工作区,这个虚拟工作区会跟踪工作区的文件变化(增删改等操作)。这个工作区的位于.git文件夹下的index目录下。除非是绕过暂存区直接提交,否则Git想把修改提交上去,就必须将修改存入暂存区最后才能commit。每次提交的是暂存区所对应的文件快照。

2.5 在Git上搜索开源项目

图2-5-1

图2-5-2

图2-5-3

图2-5-4

图2-5-5

图2-5-6

三、win10系统使用Github代码仓库

3.1 运行Git命令行

要实现代码上传、下载、删除等操作,可以在Git命令行进行操作。

安装Git软件之后,在桌面有快捷方式,双击图标,即可进入到Git命令行。

图3-1

还有更加方便的操作,可以先直接进入到要上传代码的目录,鼠标右键直接打开Git命令行。

图3-2

图3-3

3.2 绑定GitHub账号

在Git命令行上执行下面代码,绑定GitHub的用户名与邮箱:

git config --global user.name DSxiaolong

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

用户名: 注册GitHub填写的用户名。

邮箱: 注册GitHub填写的邮箱。

图3-4

配置完了之后,可以输入git config --global -l命令,查看自己配置的属性。

$ git config --global -l

user.name=DSxiaolong

user.email=1126626497@qq.com


3.3 新建代码库并上传到GitHub

进入到要上传代码的目录下之后,在命令行终端执行以下命令,初始化新的存储库:

(这个目录就是要上传的项目主目录)

echo "# LinuxCode" >> README.md #创建一个说明文件,版本迭代的一些提示

git init #初始化代码仓库,初始化成功后会在当前目录下生成一个.git的隐藏目录。

git status #查看本地仓库文件

git add README.md #添加要上传的文件到GitHub

git add app.c image.rgb565 a.out #添加要上传的文件到GitHub

git commit -m "第一次提交代码" #添加修改说明,git commit主要是将暂存区里的改动提交到本地的版本库。

git remote add wbyqlib https://github.com/DSxiaolong/LinuxCode.git #关联到远程仓库,其中wbyqlib就是本地仓库名字

git remote -v #查看远程库的名字

git push -u wbyqlib master #将本地仓库分支master分支的所有内容推送给wbyqlib仓库

在向GitHub推送代码的时候,会弹出一个登陆窗口,输入GitHub注册的账号信息即可。

说明: 在添加文件时,如果想将当前目录下所有文件上传,可以执行git add -A命令。

使用git add <文件名称> 命令好处是可以选择性上传。

图3-5

上面几行代码在GitHub仓库页面有提示,直接去复制粘贴,再按照自己需求适当修改就行了。

图3-6

上传成功之后,在GitHub上即可看到上传的代码信息。

图3-7

在本地目录下,可以看到多了一个.git目录,如果看不到,设置显示隐藏文件即可。

图3-8

3.4 下载远程仓库代码到本地

下载远程仓库代码到本地流程: clone->add->commit->push

可以直接在GitHub代码页面,点击下载。

图3-9

也可以在Git命令行,使用clone命令下载。

找一个存放代码的目录,鼠标右键打开Git终端,执行以下命令。

git clone https://github.com/DSxiaolong/LinuxCode.git ./

代码仓库的地址: https://github.com/DSxiaolong/LinuxCode.git ./

图3-10

3.5 GitHub上删除远程仓

如果当前这个代码仓库不需要了,可以在GitHub将其上删除掉。

图3-11

图3-12

四、GitHub常见的命令介绍

4.1 Git客户端向GitHub上传数据步骤总结

Git客户端将本地文件上传到GitHub大致3个步骤:

1. 先将工作区要上传的文件添加到暂存区

2. 将暂存区的文件提交到版本库

3. 将版本库上传至GitHub服务器


4.2 Git常用的一些命令

初始化一个文件夹(.git)为本地仓库

git init

将本地要上传的文件添加到暂存区

git add <文件名> 或者 git add -A (表示全部)

查看暂存区的文件信息

git ls-files

如果想将文件从暂存区移除,可以执行

git rm --cached <文件名>

查看工作区的文件状态

git status

git status命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件

列出的红色文件,表示是还未添加至暂存区的文件,没有添加到暂存区就不会上传至GitHub

关联到远程仓库

git remote add wbyqlib https://github.com/DSxiaolong/LinuxCode.git

(只需执行一次即可,后面就不用执行了)

其中wbyqlib就是远程库名字

查看远程库的名字

git remote -v

把暂存区的文件提交到版本库

git commit -m "修改提示"

将版本库上传至GitHub服务器

git push -u wbyqlib master

如果当前工作目录只有一个分支,那么只需要执行: git push 即可


4.3 Git客户端上删除服务器上的文件

1

删除本地文件系统的文件

选中本地源文件,鼠标右键删除(只是删除本地文件而已)。

3

git rm hello.txt

暂存区删除,移除要删掉的文件。

4

git commit -m “不需要这个文件了”

提交修改

5

git push

更新到服务端。

更新成功之后,登录GitHub就可以看到hello.txt已经删除掉了。


五、在ubuntu系统上使用Git客户端

5.1 安装Git

Git已经收录在ubuntu软件仓库中,安装很简单,用以下方法即可:

sudo apt-get update

sudo apt-get install git

安装完成后,可以用git --version来验证安装是否完成。另外,可以用git help 命令名称来查询帮助。

图5-1

5.2 Git初始化

安装Git之后建议做一些基础设置,例如设置一下你的用户名与电子邮件等,这些信息在提交代码的时候都是必需的。

可以使用以下的命令:

git config --global user.name "你的用户名,例如github的账号"

git config --global user.email "你的邮箱,例如github中的邮件地址"


设置之后,就可以用git config –list命令来查看设置的信息。

图5-2

5.3 下载/上传文件

在linux下操作和windows下一样,都是命令行。

由于在第三章节,在GitHub上创建过代码库,那么在这里就先下载代码库、修改、再上传。

wbyq@wbyq:~$ mkdir code //创建一个存放代码的目录

wbyq@wbyq:~$ cd code/ //进到代码目录下

wbyq@wbyq:~/code$ git clone https://github.com/DSxiaolong/LinuxCode.git //将远程仓代码克隆一份到本地

正克隆到 'LinuxCode'...

remote: Enumerating objects: 12, done.

remote: Counting objects: 100% (12/12), done.

remote: Compressing objects: 100% (7/7), done.

remote: Total 12 (delta 3), reused 11 (delta 2), pack-reused 0

展开对象中: 100% (12/12), 完成.

检查连接... 完成。

wbyq@wbyq:~/code$ ls

LinuxCode

wbyq@wbyq:~/code/LinuxCode$ ls //查看克隆成功的文件

a.out app.c image.rgb565 README.md

wbyq@wbyq:~/code/LinuxCode$ touch 666.c 888.c //创建新文件

wbyq@wbyq:~/code/LinuxCode$ ls

666.c 888.c a.out app.c image.rgb565 README.md

wbyq@wbyq:~/code/LinuxCode$ git add 666.c //添加文件到暂存区

wbyq@wbyq:~/code/LinuxCode$ git add 888.c //添加文件到暂存区


wbyq@wbyq:~/code/LinuxCode$ git status //查看暂存区新增加的文件

位于分支 master

您的分支与上游分支 'origin/master' 一致。

要提交的变更:

(使用 "git reset HEAD <文件>..." 以取消暂存)


新文件: 666.c

新文件: 888.c


wbyq@wbyq:~/code/LinuxCode$ git commit -m "2019/11/19/17:24" //添加注释、提交到版本库

[master 6d3e2c9] 2019/11/19/17:24

2 files changed, 0 insertions(+), 0 deletions(-)

create mode 100644 666.c

create mode 100644 888.c

wbyq@wbyq:~/code/LinuxCode$ git remote -v

origin https://github.com/DSxiaolong/LinuxCode.git (fetch)

origin https://github.com/DSxiaolong/LinuxCode.git (push)

wbyq@wbyq:~/code/LinuxCode$ git push //将版本库(本地仓)上传到远程仓

warning: push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching'

变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:


git config --global push.default matching


若要不再显示本信息并从现在开始采用新的使用习惯,设置:


git config --global push.default simple


当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有

本地分支。


从 Git 2.0 开始,Git 默认采用更为保守的 'simple' 模式,只推送当前

分支到远程关联的同名分支,即 'git push' 推送当前分支。


参见 'git help config' 并查找 'push.default' 以获取更多信息。

('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,

为保持兼容,请用 'current' 代替 'simple')


Username for 'https://github.com': DSxiaolong //输入GitHub用户名

Password for 'https://DSxiaolong@github.com': //输入GitHub密码

对象计数中: 3, 完成.

Delta compression using up to 2 threads.

压缩对象中: 100% (2/2), 完成.

写入对象中: 100% (3/3), 371 bytes | 0 bytes/s, 完成.

Total 3 (delta 0), reused 0 (delta 0)

To https://github.com/DSxiaolong/LinuxCode.git

2e0aec1..6d3e2c9 master -> master //上传成功

图5-3

六、创建新的仓库上传代码的基本步骤总结

在码云或者GitHub上创建一个新的仓库之后,会得到一个仓库地址。


下面代码里关联的远程仓库地址就是上面这张截图里的地址。


在本地的将要向仓库上传代码的目录下,打开Git终端,输入以下命令对本地仓库进行初始化。

在Linux系统下,直接在终端命令行,进入到要上传代码的目录下执行以下命令即可。


echo "# LinuxCode" >> README.md #创建一个说明文件, 版本迭代的一些提示

git config --global user.name <用户名>     #用户名 

git config --global user.email <邮箱地址>  #邮箱地址

git init    #初始化代码仓库, 初始化成功后会在当前目录下生成一个.git 的隐藏目录。

git add -A  #添加要上传的所有

git commit -m "修改说明" #添加修改说明, git commit 主要是将暂存区里的改动提交到本地的版本库。

git remote add wbyq https://github.com/DSxiaolong/LinuxCode.git #关联到远程仓库,其中 wbyqlib就是本地仓库名字

git push -u wbyq master #将本地仓库分支 wbyq 的所有内容推送给 master 仓库


如果本地仓库初始化完毕之后,以后修改了代码向仓库上传只需要执行以下3条命令即可:

git add -A  #添加要上传的所有

git commit -m "修改说明" #添加修改说明, git commit 主要是将暂存区里的改动提交到本地的版本库。

git push -u wbyq master #将本地仓库分支 wbyq 分支的所有内容推送给 master 仓库


如果上传不成功,提示无法合并,可以强制上传:

git push -u wbyq +master #将本地仓库分支 wbyq 分支的所有内容推送给 master 仓库


注意: 电脑上安装Git之后第一次向Git服务器上传代码,会弹出窗口提示需要输入服务器的账号密码(就是码云和GitHub的登录账号密码)。

在windows下如果输入错误,需要到windows凭证管理里去删除掉或者修改账号和密码



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。