Git的使用以及项目保存至远程仓库(萌新)

文章目录

  • 关于Git
  • 1本地仓库的使用
    • 1.1 Git安装
    • 1.2 Git初始化本地仓库
    • 1.3 Git保存修改
    • 1.4 Git提交修改
    • 1.5Git状态
    • 1.6 Git修改详细
    • 1.7Git提交历史
    • 1.8 Git项目版本更改
    • 1.9 Git操作历史命令
    • 1.10 Git删除修改
    • 1.11 Git删除文件
  • 2 远程仓库的使用
    • 2.1 国内常用远程仓库
    • 2.2 GitHub远程仓库
    • 2.3 SSH KEY
    • 2.4 配置SSH KEY
    • 2.5 关联和推送本地仓库至远程仓库
  • 3 把本地已经码好的项目上传至GitHub

关于Git

linux之父linus为了更好的管理他自己的开源项目linux系统而自己开发的一个软件,这个软件可以帮助Linux更好的进行开源开发,名字就叫Git。

首先要搞清楚Git的本地仓库远程仓库,以及本地仓库如何关联远程仓库和上传
关系如下(手工画的,丑了点,意思差不多就这样)
Git的使用以及项目保存至远程仓库(萌新)_第1张图片

1本地仓库的使用

1.1 Git安装

在Windows上使用Git,可以从Git官网(直接百度Git,第一个就是了,速度贼慢那个)直接下载安装程序(如果太慢可以找国内网站的安装包),然后无脑next就行。安装完成,鼠标右键就看到Git GUI Here和Git Base Here两个选项,说明安装成功。
安装成功后,我们得告诉Git我们的名字(昵称就行)和邮箱。这里建议直接设置全局属性,以后方便。

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

输入完你不会看到任何反应,就很对,有反应基本都是报错。
你也可以不输入内容 直接执行上面的命令,可以查看你已经保存的name和email。

$ git config --global user.name
$ git config --global user.email

这样Git就知道你了,可以开始使用Git了。

1.2 Git初始化本地仓库

首先进入你要上传的项目文件夹或者即将开始的项目文件夹,右键Git Base Here,输入

git init

这样你的项目就初始化成一个仓库,这样Git才可以管理你的项目

1.3 Git保存修改

当你对本地代码文件进行修改后,需要将修改后的文件的修改告诉Git,只是告诉,这样Git会只将修改的文件提交至Stage区(暂存区),并不更新至master区,参考上图第一个箭头,至于为什么不直接提交至master区(主分支,还有其他分支),下面再说明。你需要使用

git add files   //files是你修改的文件名字 这样会告诉Git这个文件被你修改了
git add .      //注意这里有个 '.'  ,这个'.'代表该目录所有文件
               //这样会告诉Git,你自己去找这个目录我修改过的所有文件
               //Git就会知道哪些文件你做出修改

1.4 Git提交修改

当你告诉Git你修改后,master区还没更新,你需要自己确认是否将Stage区的修改提交至master区。参考上图第二个箭头。输入

git commit -m 'msg' //这里的msg可以随便写,建议写上你改了什么东西,方便以后查看

如果你有玩过RPG游戏,你就会感到很熟悉,git commit就类似于RPG中的存档,msg就是存档名,每次提交都会保存一个存档,这个存档有唯一的标识commit_id,就是存档编号。在RPG中,你想起某个道具没拿,但却回不去时,你可以选择读档。在编辑代码时,你发现一个bug,你可以读取前面没有bug的存档。至于怎么读取存档,后面介绍。

1.5Git状态

你可以在任意时刻查看你修改了什么,输入

git status 

这样就可以看到哪些文件作出修改,然后Git会提示是否上传或其他操作。
在你修改一个文件后,git status 会告诉你做出修改,你git add后,git status会告诉你可以commit,如果此时你又修改了这个文件,但不执行 git add,直接执行git commit,可以提交,但是git status还是会告诉你那个文件被修改。原因很简单,如最上面那个图所示,你每次commit只是将Stage区的修改更新至master,你没有git add的不会更新。怎么提交第二次修改呢?所以正确做法是,再次 git add,再执行git commit。或者第一次修改不执行git add,第二次再执行 git add,接着执行git commit。

1.6 Git修改详细

在git status中,你可以看到哪些文件作出修改,但是无法看到具体内容的修改,这时,可以使用

git diff files //files是目标文件的名字
git diff .     //注意这个.表示所有文件

这样就可以看到哪些文件作出修改的内容

1.7Git提交历史

在每次提交git commit后,都会有一条历史记录,你可以输入

git log					  //详细列表
git log --pretty=oneline  //简易列表

把所有历史记录根据时间从近到远罗列出来,列表内容有commit_id,Author,Date,msg。你可以找到你每次操作的内容和时间,以及关键的commit_id,你可以根据这个commit_id做些大事情。

1.8 Git项目版本更改

当你对一个项目作出多次更改后,每次提交都是一个版本,每个版本都有一个版本编号,没错,就是commit_id。当你提交很多次后,你突然发现,后面的几次提交都是bug,这时,Git提供了一个指令,可以让你回到之前的某一次提交状态,输入

git reset --hard commit_id 

这样你工作区的代码就会退回对应的版本。除了commit_id外,你还可输入

git reset --hard HEAD^       //上个版本
git reset --hard HEAD^^      //上上个版本
git reset --hard HEAD~100    //上100个版本
git reset --hard HEAD~x      //上x个版本

1.9 Git操作历史命令

在编码过程中,你更新了多个版本,在一次更新中,你发现前面一个版本有个BUG,于是你用git reset返回到之前的版本,第二天,你发现那个BUG其实并不用退版本,只需要加个依赖库就完全可以搞定。这时,你用git log想去找commit_id,却发现找不到了。
当你退回之前的版本后,如果不关闭命令行,你使用git log是可以看到该版本后的操作记录。
当你退回之前的版本后,你把命令行关闭后再打开,你使用git log是看不到该版本后的操作,这时你就可以输入

git reflog

可以查看所有分支的所有操作记录(分支后面再讲,包括已经被删除的 commit 记录和 reset 的操作),每条记录都有commit_id,这时你就又可以跳转版本了。

1.10 Git删除修改

当你修改一个文件内容后,输入git status,你可以看到修改的内容,如果你把修改撤销了,再输入git status,git还是会告诉你修改了这个文件,还会提示你(use “git checkout – …” to discard changes in working directory),就是让你使用

git checkout -- files //注意添加 -- 不然命令就不对了 

这样git status就不会提示修改了。git checkout会让文件退回最近一次的git add或者git commit(原理是将master的文件替换工作区的文件)。

1.11 Git删除文件

当你把工作区某个文件删除后,git status会提示有文件被删除,但git本地仓库还留有那个文件,你可以选择撤销本地文件的删除或者删除本地仓库的该文件。

git checkout -- files 		//误删撤销
git rm files 		        //删除仓库文件

2 远程仓库的使用

2.1 国内常用远程仓库

在国内,目前来说,最常用的远程仓库主要有GitHub和码云(Gitee)。GitHub是全球最大IT同性交友网,emmm,开玩笑的,但GitHub的的确确是全球最大的远程仓库。码云是国内的,好处就是不用翻译,但用户肯定没GitHub多,毕竟IT同性交友网。
这里我主要介绍下GitHub的远程仓库的使用。

2.2 GitHub远程仓库

既然要使用GitHub,自然免不了注册登录,前往GitHub官网,看不懂鼠标右键,翻译。然后注册就完事了。
注册登录搞定后,你就可以看到你的主页了。Ok,然后建个远程仓库。找到右上角,如图
Git的使用以及项目保存至远程仓库(萌新)_第2张图片
这个是你的仓库入口。点击绿的发慌的new按钮,参考下图开始创建你的远程仓库。
Git的使用以及项目保存至远程仓库(萌新)_第3张图片
点击Create respository 即可创建。
Git的使用以及项目保存至远程仓库(萌新)_第4张图片
这就是建立好的远程仓库,啥都没有,只有GitHub的提示,按照红圈的命令把本地内容推送。接下来要做的就是把你本地仓库上传到这里(专业名词叫推送)。在推送前,我们要配置下本地和远程的关联。

2.3 SSH KEY

本地仓库是通过SSH KEY和GItHub进行滴血认亲的。也可以说是把钥匙,你可以在本地打一把锁和钥匙,把锁给GitHub,关联就用钥匙。

2.4 配置SSH KEY

随便找个地方右键Git Base Here打开Git窗口

ssh-keygen -t rsa -C "你的邮箱"

然后会让你填写些内容,第一个是存放钥匙的地方,默认(一般默认地址是C:\Users\win 10.ssh)就OK了,下面是用户名(这个可能不需要输入,Git不认识你的时候需要)和密码以及确认密码,输入密码是没反应的,不是键盘坏了,你直接按密码就对了,再次确认密码没问题就会有下图
Git的使用以及项目保存至远程仓库(萌新)_第5张图片
SSH KEY配置搞定 前往C:\Users\win 10.ssh,你可以看到两个文件,一个私有的,一个公有的,记事本打开结尾为pub的,复制所有内容。
在这里插入图片描述
然后打开GitHub,点击头像,setting,SSH and GPG keys,新建SSH KEY,将第一行填使用者(一个项目有很多组员,GitHub配了很多个门,每个门都有一把锁,这里填上开门的人的名字,方便管理),下面将复制的内容粘贴上去
Git的使用以及项目保存至远程仓库(萌新)_第6张图片
点击添加会让你输入github的密码确认是否本人操作。按着做就可以添加了。
Git的使用以及项目保存至远程仓库(萌新)_第7张图片
这就是生成的SSH KEY。这样GitHub就跟你电脑滴血认亲了。

2.5 关联和推送本地仓库至远程仓库

在这里插入图片描述
首先是关联,按照GitHub提示的操作,然后在项目文件夹,Git Base Here

git remote add 远程仓库名 仓库地址.git   //后面是你的仓库地址结尾加个.git
										//远程仓库名不一定用你的仓库名,一般用GitHub,Gitee
										//就明白了这是GitHub/码云的一个远程仓库	

回车没反应就妥了。
如果有反应,一般是已经你已经用过这个仓库名
可以输入下面指令,查看当前已经关联的远程仓库

git remote -v

删除你不想关联的仓库

git remote rm 远程仓库名

出错的删除后再关联就ok了。然后就可以愉快的推送了。

git push 远程仓库名 master  //这里还没说明分支,有空再讲分支,但目前来说只有
						   //master这一分支,所以把master推送上去就ok了

这样你的项目就开始往github上推送了。推送完成你就可以愉快的在GitHub上看到你的项目了。
以后项目每次改动结束,就输入

git add .   //有个点  表示所有 
			//上传修改
git commit -m "msg" 
			//提交修改到分支(如果没有分支,就是master分支)
git push 远程仓库名 master
			//将分支推送至远程仓库

3 把本地已经码好的项目上传至GitHub

1、打开项目文件夹,初始化

git init

2、提交所有修改

git add .

3、上传修改到master分支

git commit -m "commit"

4、创建远程仓库,往上翻2.2
5、配置SSH KEY,往上翻2.4
6、关联本地与远程仓库

git remote add 远程仓库名 仓库地址.git   

7.推送

git push 远程仓库名 master

你可能感兴趣的:(Git的使用以及项目保存至远程仓库(萌新))