当前位置:   article > 正文

git入门教程

git入门教程

一、工作流程

在这里插入图片描述

二、获取本地仓库

要想使用Git对我们的代码进行版本控制,首先需要获得本地仓库
(1)在电脑的任意位置创建空目录,例如git_test作为我们的本地git仓库
(2)进入到这个目录,右键打开git bash窗口
(3)执行命令git init
(4)创建成功后即可在目录里看到.git目录
在这里插入图片描述

三、Git常用指令

在这里插入图片描述

1、查看文件状态

在这里插入图片描述
可以查看到它是属于上图中未跟踪的状态,我们需要添加至暂存区,并且提交到本地仓库,git add .表示将当前目录下所有的修改都加入暂存区

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git add .

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   file01.txt
        
Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git commit -m "add file01"
[master (root-commit) 4357b44] add file01
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file01.txt
 
Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git status
On branch master
nothing to commit, working tree clean
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

可以看到工作区没有内容,证明创建的文件已经提交至本地仓库了

2、查看提交日志

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git log
commit 4357b44d7605e37ea471798d0ea388472af3b4d4 (HEAD -> master)
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:31:39 2022 +0800

    add file01
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

我们对上述的file01文件做一次修改,再add,再commit,之后看它的提交日志,可以看到有两次提交

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git log
commit 0e85a804b48774a756806a68704840850268f9a6 (HEAD -> master)
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:38:05 2022 +0800

    update file01

commit 4357b44d7605e37ea471798d0ea388472af3b4d4
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:31:39 2022 +0800

    add file01
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3、版本回退

作用及其使用的命令:

作用:用于版本切换
命令:git reset --hard commitID
commitID可以使用git log指令查看

在这里插入图片描述

4、添加文件至忽略列表

直接将文件添加至.gitignore这个文件即可。

三、分支

几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大bug的修改,在你自己的分支上开发新的功能,以免影响开发主线。

1、查看本地分支

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branch
* master
  • 1
  • 2
  • 3

2、创建分支

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branch dev01

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branch
  dev01
* master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、切换分支

$ git branch
  dev01
* master

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git checkout dev01
Switched to branch 'dev01'

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (dev01)
$ git branch
* dev01
  master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

创建并切换到一个不存在的分支里

$ git checkout -b dev02
Switched to a new branch 'dev02'

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (dev02)
$ git branch
  dev01
* dev02
  master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4、合并分支

将一个分支上的提交,合并到另一个分支上,以dev01合并到master上为例,必须先切换到master分支里

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git merge dev01
Updating 4357b44..d704055
Fast-forward
 file02.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file02.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

效果图如下:
在这里插入图片描述

5、删除分支

$ git branch -d dev02
Deleted branch dev02 (was 4357b44).

删除不了的话可以强制删除,-D
  • 1
  • 2
  • 3
  • 4

6、解决冲突

何为冲突?

当两个分支上对同一个文件的同一行内容进行的不同的修改,就会发生冲突。会把两个分支修改的内容全部显示出来,效果图如下:
在这里插入图片描述

如何解决?

这时需要我们指定好file01里的内容,使得count=5,然后进行add,commit等操作,再查看就是我们修改好的内容了。

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ cat file01.txt
update count=5
  • 1
  • 2
  • 3

四、Git远程仓库

1、常用的托管服务[远程仓库]

Git中存在两种仓库,即本地仓库和远程仓库。那我们如何搭建远程仓库呢?比较常用的有github,码云,gitlab等。
工作中用的比较多的是gitlab,因为码云和github都是把代码放在别人那边,不太安全,而gitlab是自己搭建的,较为安全。

三个远程仓库有什么区别?

1、github是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管。
2、码云是国内的一个代码托管平台,由于服务器在国内,所以相比github,码云速度会更快
3、gitlab是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业,学校等内部网络搭建的git私服。

2、注册码云

要想使用码云的相关服务,需要注册账号(https://gitee.com/signup)

3、创建远程仓库

注册好之后,就新建仓库,直接点击创建,效果如下:
在这里插入图片描述

4、配置ssh公钥

要想将本地仓库的代码推到远程仓库上,就必须两者建立联系,可以用用户名等登录,但是最常用的就是配置ssh公私钥对。
生成ssh公钥

ssh-keygen -t rsa
不断回车,如果公钥已存在,会自动覆盖
  • 1
  • 2

查看公钥

cat ~/.ssh/id_rsa.pub
  • 1

在码云的设置里,添加公钥即可
在这里插入图片描述
验证是否配置成功
在这里插入图片描述

5、操作远程仓库

1、添加远程仓库

在本地告诉本地仓库,你所对应的远程仓库是哪一个?
先查看远程仓库的地址
在这里插入图片描述
然后在本地操作:

git remote add 远端名称  仓库路径
远端名称:默认是origin,取决于远端服务器设置
仓库路径:从远端服务器获取此URL
$ git remote add origin git@gitee.com:ly24/git_test.git
  • 1
  • 2
  • 3
  • 4

2、查看远程仓库是否添加

$ git remote
origin
  • 1
  • 2

3、推送到远程仓库

git push 远端名称   本地分支名  
$ git push origin master
  • 1
  • 2

4、从远程仓库克隆

我们将自己的仓库推送到远端了,另外一个同学也想用我们的这个仓库,那他可以把远端仓库克隆到他本地
在这里插入图片描述
我们可以看到上述命令就是将远程仓库克隆到本地,本地文件夹名称为hello-git,两个文件夹的文件是一致的。

5、从远程仓库中抓取和拉取

抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

git fetch [remote name]  [branch name]
如果不指定远端名称和分支名,则抓取所有分支
  • 1
  • 2

拉取命令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

git pull [remote name]  [branch name]
如果不指定远端名称和分支名,则抓取所有并更新当前分支
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/494181
推荐阅读
相关标签
  

闽ICP备14008679号