Git无痛起步

Git是什么东西呢?Github相信大家都很熟悉,但注册了Github却不知道怎么用?网上看了一堆Git教程,还是不知道先从哪里开始?下面就让小编带大家一起手把手教你使用Git吧!

一、为什么要学Git?

场景引入

某门课程需要小组在期末上台做pre展示,你和另外一个同学小B负责做PPT。大家拉了个微信群方便讨论。一天你做完了PPT初稿,上传了个1.0版本到群里,问还有没有需要修改的地方。小B下载了你的PPT,在你的基础上改了一些,上传了一个2.0版本到群里。你下载了2.0版本觉得还可以再修改,上传了3.0并宣称是最终版。如此往复,你的电脑里会多出了“最终版”、“最终4.0”、“最终无敌版”、”最最终完美典藏版"…
这么多不同的版本,不仅把桌面弄得乱七八糟,而且哪个版本修改了什么也不清楚,想恢复到之前版本还不敢轻易删除…真是太麻烦了!简单的小组pre就已经这样了,而团队项目的开发更是如此。因此为方便项目迭代和团队协作,我们通常在Github/Gitee上托管项目。GitHub是为开源项目免费提供Git存储的一个网站,想上手Github,先了解Git很有必要。

Git是什么?

Git的定义中,见到最多的就是一句“Git是一个分布式版本控制系统”。要理解这句话,可以从“分布式”和“版本控制”两点入手。

  • 分布式: 可以理解为每台服务器上都有一个完整的版本库。不仅安全度大大提升(不必担心在集中式里中央服务器出问题,然后所有版本都丢失的惨状),还无需联网,也更稳定。
  • 版本控制:在Git里,通过分支来管理不同版本。虽然大家的电脑上都有独立的版本库,但实际使用中,还是有一个类似中央服务器的“中介”,大家直接与中介进行交流,Github或者Gitee就充当这个角色。每个人可以先在自己的分支上做不同的修改,然后再推送到主干上进行合并,Git的好处在于可以非常方便地进行分支切换(1秒钟以内)。

二、如何使用Git?

Git下载和配置

官网上,下载相应的版本(Windows 64位),默认安装,不需要改其他设置。
安装完成后,菜单里找到Git Bash(不是Git CMD),输入以下两条命令进行配置:

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

引号改为自己的名字和邮箱,这样在上传版本的时候就知道你的身份了。Git里粘贴快捷键是Shift+Insert,但建议手动打入,或者修改完成后再粘贴进去直接执行)

创建版本库

版本库(repository)可以理解为一个仓库。在本地里创建一个版本库,在之后就可以关联到Github的远程库上。

1.首先在一个目录下手动新建一个空的文件夹作为你的版本库,例如我在F盘下新建了一个名为test的文件夹,在Git里用cd…命令进入这个目录:
或者可以进入F盘下,用 mkdir命令(mkdir test)在新建一个文件夹,再 cd test用pwd命令来查看当前目录

$ pwd
/f/test

2.将该目录变成Git可以管理的仓库,输入命令git init

$ git init
Initialized empty Git repository in F:/test/.git/

这时候我们可以看到test文件夹下多了一个.git文件(没看到的话就显示隐藏文件)。里面的东西不要乱动!
.git文件
3.添加文件到版本库

在test目录下手动新建一个readme.txt文件,内容为11111111。
只是新建了文件,怎么添加到Git仓库里呢?分两步:
(1)利用 git add + 文件名 将文件添加到仓库

随时随地出没的小幽灵@ghost MINGW64 /f/test (master)
$ git add readme.txt

Unix的哲学是没有消息就是好消息

(2)**git commit -m"注释"**将文件提交到库

$ git commit -m"添加了11111111"
[master (root-commit) f6e003d] 添加了11111111
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

1 file changed, 1 insertion(+)表示一个文件被改动,插入了一行内容。另外,添加注释是很必要的。

要查看readme.txt的内容,用命令 cat

$ cat readme.txt
11111111

接下来手动修改readme.txt,加入一行2222222,再添加并提交到库里。

随时随地出没的小幽灵@ghost MINGW64 /f/test (master)
$ git commit -m"添加了2222222"
[master e335d82] 添加了2222222
 1 file changed, 2 insertions(+), 1 deletion(-)

为什么提交需要分add 和 commit 两步?因为可以add多个文件后,再一次commit。

这时候用git status命令查看是否还有已add但未被commit的文件

随时随地出没的小幽灵@ghost MINGW64 /f/test (master)
$ git status
On branch master
nothing to commit, working tree clean

所有文件都被commit了

(3)版本回退
可以用git log 查看当前的提交记录

随时随地出没的小幽灵@ghost MINGW64 /f/test (master)
$ git log
commit e335d825e439655151126dc4e5a99f7a20d76207 (HEAD -> master)
Author: Luo Yaying <1208843528@qq.com>
Date:   Sun Dec 13 19:20:12 2020 +0800

    添加了2222222

commit f6e003dafd523fa4958c775c578560971cf08bb1
Author: Luo Yaying <1208843528@qq.com>
Date:   Sun Dec 13 19:09:26 2020 +0800

    添加了11111111

假如我修改错了,想要回到1.0的版本,用命令git reset --hard HEAD^

随时随地出没的小幽灵@ghost MINGW64 /f/test (master)
$ git reset --hard HEAD^
HEAD is now at f6e003d 添加了11111111

这时点开readme.txt 发现神奇地变成只有1111111了!

如果想退回到上上个版本,就再添加一个^

bash $ git reset --hard HEAD^^退回到前100个版本,可以用 HEAD~`100

如果不记得第几个版本,可以用git reflog命令查看,例如

$ git reflog
f6e003d (HEAD -> master) HEAD@{
    
    0}: reset: moving to HEAD^
e335d82 HEAD@{
    
    1}: commit: 添加了2222222
f6e003d (HEAD -> master) HEAD@{
    
    2}: commit (initial): 添加了11111111

前6个字符串代表版本号,想退回到哪个版本,可以通过版本号来选择,例如回到添加了2222222的版本,可以使用
git reset --hard e335d82

添加远程仓库

假设在本地里已经拥有了一个仓库,需要上传到Github上实现同步,这样可以很方便的记录历史版本。

  1. 在github上创建一个repo(仓库名)
    2.先进入需要同步的本地仓库,右键git bush
git init

3.git bush上连接远程仓库。其中ghost0913是我的github用户名,Baselines是刚刚新建的仓库名。
origin是默认常用的仓库名

git remote add origin [email protected]:ghost0913/Baselines.git

4.(将改动添加到暂存区)(注意有个小数点)

git add .
  1. 由于不能向空项目递交远程分支,因此需要加上一句
git commit -m "first commit"
  1. 第一次提交,加上-u , 目的是把本地的master分支和远程的master分支关联起来。
git push -u origin master
  1. 之后提交时不再需要 -u 参数,直接
git push origin master 

即可

`

猜你喜欢

转载自blog.csdn.net/weixin_43846562/article/details/111124003