我是一个小白,在接触 git 和 github 中踩了很多坑,git 和 github 可以说是会伴随一个程序员一辈子的职业生涯了,因此一定要掌握。下面我将会来讲解一下个人对 git 和 github 的一些理解。
首先先来介绍一下什么是 git。git 是一个版本控制软件,我的理解就是类似于 Vmware 里面的一个功能—快照,简单理解就是当你在开发某一个项目的时候,如果你用 git 已经提前将这个项目进行了管理的话,这个时候你可以通过 git 保存这个项目,未来如果你在进行这个项目开发的时候,出现了 bug 或者其他的问题的话,那么你可以通过 git 来返回以前项目所在的状态。是不是觉得很方便。git 也是目前市面上最先进,最流行的版本控制系统,能够快速高效地处理从很小到非常大的项目版本管理(听完是不是觉得很神奇,这就是 git 的功劳)
哈哈,那么话不多说,直接上 git 的下载地址 :Git (git-scm.com)
点击进入 git 的官网之后,然后点击 Downloads 即可
然后就是选择性下载你的电脑对应的系统了,由于我的电脑是 windows 系统,因此我这里选择下载 windows
然后选择 64 版本 (我的电脑是64,根据你自己的电脑做选择)
下载之后直接安装就行,一直点击下一步即可,这里就不介绍如何安装了,请见谅。
下一步就是对 git 进行简单的配置。
第一步就是在你的项目文件夹点击鼠标右键,然后点击 Git Bash Here
打开之后在这个终端界面输入如下命令即可
git config --global user.name '你想设置的用户名'
回车在输入下面命令
git config --global user.email '你想设置的邮箱地址'
上面这个命令是只需要设置一次的,相当于注册,后面就不需要再次输入了。
git config --globlal user.name ‘你想设置的用户名字’
git config --globlal user.email ‘你想设置的邮箱’
按下回车之后即可,这个时候系统将会生成一个文件,其路径为 C\Users\用户名
由于我的用户名是 blackguest007 因此我对应的路径是 C\Users\blackguest007
下面将进入到 git 的基本使用部分,会介绍如何利用 git 来管理本地的项目。
首先呢在这里介绍 git 的一些基础命令,因为后面会涉及到很多关于 git 的命令,作为小白的我都在这里做了一个简单的总结
注意: 一定要在项目对应的路径下打开,如果不在对应路径,必须切换到对应路径
这里引入 ‘黑马it 机构’ 的课上的一张 ppt,对 git 工作区的文件所处于的状态形象地进行了解释,如果一个文件需要上传到 github 远程仓库中去,(意思就是云端备份)首先这个项目要被 git 管理,然后将项目文件进行跟踪,跟踪之后在添加到本地 git 仓库中去,然后联网之后与远程 github 仓库进行关联,然后即可上传
关于 git 进行文件管理的相关命令
1:如何利用 git 初始化仓库
git init
2:查看文件状态的命令
git status 或 git status -s
3.一次性将文件加入暂存区的命令
git add . // 如果只添加某一个文件,则是 git add '文件名',而 git add 与 .不是直接连接的,中间有一个逗号,这是要注意的地方
4.移除指定暂存区的文件的命令
git rm -f index.js // 从 git 仓库和工作区中同时移除 index.js 文件,index.js 处输入你想移除的文件名字
git rm --cashed index.css // 从 git 仓库中移除 index.css,但保留工作区的 index.css 文件
5.将暂存区的文件提交到 git 仓库的命令
git commit -m '提交信息' // 注意,这里一定要加上 -m 如果你不加上 -m 的话,这个时候不会提交成功,终端界面最上面会显示一大串英文,意思就是要求你一定要加上 -m 这个选项,当时我通过 https 和 ssh 连接 github 仓库的时候,就是因为没有加上 -m 选项,导致我走了很多弯路,在此强调一次,一定要加上 -m
6.如何直接跳过 git 的暂存区,直接将文件上传到本地仓库
git commit -a -m '描述信息'
在初始化 git 仓库之后,git 仓库会默认创建一个名为 master 的仓库,也叫作主分支,在今后的工作中,一个项目不可能是由你一个人去完成,往往是多个人负责多个不同功能的开发,而每个人都会在他自己的那一个分支里去工作,而这个分支就需要自己去创建
关于分支的相关命令
1:查看分支
git branch // 查看当前分支
git remote show // 查看远程仓库里的分支
git branch -a // 查看本地和远程仓库的分支,查看远程仓库的分支,需要你提前做好仓库的绑定
2: 创建分支
git branch 分支名 // 创建分支之后,不会改变当前分支的所在路径
3:切换分支
git checkout 分支名
4:创建分支的同时,并更换分支的路劲
git checkout -b 分支名
5:删除指定名字的分支
git branch -d 分支名 // 注意,如果你所在的路径就是你想要删除的分支,那么是不会删除成功的,你需要手动切换你的分支所在路径才行
6:如何合并分支
git merge 分支名 // 注意,如果你的将 login 这个分支合并
7:如何推送分支
git push -u 远程仓库的别名 本地分支名称:远程分支名称 // 将本地分支的名称上传到指定的远程仓库里面去,并且修改上传到远程仓库的分支名字
8:如何从远程仓库中,将对应的远程分支下载到本地仓库,保持本地分支和远程分支的名称相同
git checkout 远程分支的名称 // 把对应的远程分支下载到本地仓库,保持本地分支和远程分支的名称相同
git checkout -b 本地分支名称 远程分支名称/远程分支名称 // 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
如何在 github 里面创建一个远程仓库
首先进入到 git hub 的官网之后,并且登录。这个时候点击如下箭头处的 New
点击之后就会显示如下界面,Repository name 填写你的仓库名称,Description 处填写对于该仓库的描述,如果该仓库允许所有人访问则选择下面的 Public,如果只想你自己访问,就点击 Privote
然后直接点击下图的绿色按钮即可成功创建自己的仓库
然后你就会显示如下图片,图片显示的内容就是关于如何将本地仓库和 github 远程仓库进行关联,提供了两种关联的方式,第一种是 https,第二种是 ssh(第一次我进去的时候也是特别懵的,因为命令根本看不懂,然后呢,就在这个地方瞎折腾了很久,但是遇到问题想自己解决还是得找度娘)
// Up 主在这里都给大家进行了总结,希望能够帮大家解决困难。爱你们的 Up 主
下图 Up 主用箭头进行了标记
不管你是采用哪一种方式进行连接,首先你需要在你的项目目录下打开 git bash ,然后依次输入 git init, git add . 这两个命令(add 与 . 有一个空格,Up 主在这里再次提醒一下大家)
然后你输入 git commit -m '提示信息' // 一定要加上 -m 哦,然后你就可以使用 https 或者 ssh 进行本地仓库和远程仓库进行关联啦,是不是觉得没你想像中的那么难,亲
Up 主在这里就演示 SSH 连接,https 连接的方式比较简单;https 连接方式如下,依次输入命令之后,按下回车,然后你输入 github 账号和密码即可,这里 Up 主不推荐采用这种方式,因为使用 ssh 连接可以以加密的方式进行传输,并且可以免密码登录,更加快速安全
下面将正式介绍如何利用 ssh 进行连接
首先你要明白的是,ssh 是采用一种加密的方式进行传输的,那么你想通过这种方式进行连接的话,你必须拥有一个秘钥,通俗地讲就是拥有一把钥匙,这把钥匙 Up 主称之为 sshkey,而 ssh 需要你手动添加
生成 sshkey 的命令: ssh-keygen -t rsa -c '你的邮箱' // 下图就是对 sshkey 进行生成,记得按下三次回车才能生成
如何检测是否已经配置成功,如果出现你的用户名,意思就是成功地配置了 sshkey
在本地配置 sshkey 成功后,就该手动将本地 sshkey 添加到 github 里面去了。
首先找到本地 sshkey 所在路径—— C:\Users\用户名文件夹\.ssh
点击上图的带有 pub 的秘钥,Up 主这里使用的是 Vscode 打开的。这个秘钥复制下来,待会会添加。
点击左边选项里面的 SSH and GPG keys,然后点击右边的绿色按钮 New SSH key,将之前复制的本地 sshkey 进行粘贴,
然后添加到 key 里面即可,然后点击 Add SSH key 即可。
添加完毕之后,既可以进行 ssh 连接,进行本地仓库与 github 远程仓库进行关联了,依次在终端里面(路径要对应 git 项目的路径)输入下面的命令。然后返回你的 github ,按下 F5 你会发现实现了本地文件的上传。
如果你未来对本地仓库文件进行了修改,该如何上传呢,其实是一样的啦
这是原来的项目,如果你要将 login.html 删除,然后进行远程 github 操作,该如何实现呢
删除 login.html 后
是不是觉得很简单,爱你哦。
同理,如果你要将 github 远程分支里的代码更新到本地仓库中,git pull命令用于从另一个存储库或本地分支获取并集成(整合)。git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,这个命令只会作用于本地仓库与远程仓库公共的文件。
git pull <远程主机名> <远程分支名>:<本地分支名> // 后面两个选项可以省略,一般加上主机名即可,主机名和 ssh 连接的时候输入的是一样的。
下面介绍如何直接克隆 github
命令:git clone 远程仓库 Url 地址 // 直接克隆整个项目
返回文件所在路径进行刷新,会发现多了个文件