git入门教程

git入门教程

  • 一、工作流程
  • 二、获取本地仓库
  • 三、Git常用指令
    • 1、查看文件状态
    • 2、查看提交日志
    • 3、版本回退
    • 4、添加文件至忽略列表
  • 三、分支
    • 1、查看本地分支
    • 2、创建分支
    • 3、切换分支
    • 4、合并分支
    • 5、删除分支
    • 6、解决冲突
  • 四、Git远程仓库
    • 1、常用的托管服务[远程仓库]
    • 2、注册码云
    • 3、创建远程仓库
    • 4、配置ssh公钥
    • 5、操作远程仓库
      • 1、添加远程仓库
      • 2、查看远程仓库是否添加
      • 3、推送到远程仓库
      • 4、从远程仓库克隆
      • 5、从远程仓库中抓取和拉取

一、工作流程

git入门教程_第1张图片

二、获取本地仓库

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

三、Git常用指令

git入门教程_第3张图片

1、查看文件状态

git入门教程_第4张图片
可以查看到它是属于上图中未跟踪的状态,我们需要添加至暂存区,并且提交到本地仓库,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 ..." 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

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

2、查看提交日志

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

    add file01

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

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

    update file01

commit 4357b44d7605e37ea471798d0ea388472af3b4d4
Author: liyu <[email protected]>
Date:   Wed Apr 20 16:31:39 2022 +0800

    add file01

3、版本回退

作用及其使用的命令:

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

git入门教程_第5张图片

4、添加文件至忽略列表

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

三、分支

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

1、查看本地分支

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

2、创建分支

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

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

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

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

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

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

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

效果图如下:
git入门教程_第6张图片

5、删除分支

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

删除不了的话可以强制删除,-D

6、解决冲突

何为冲突?

当两个分支上对同一个文件的同一行内容进行的不同的修改,就会发生冲突。会把两个分支修改的内容全部显示出来,效果图如下:
git入门教程_第7张图片

如何解决?

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

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

四、Git远程仓库

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

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

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

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

2、注册码云

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

3、创建远程仓库

注册好之后,就新建仓库,直接点击创建,效果如下:
git入门教程_第8张图片

4、配置ssh公钥

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

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

查看公钥

cat ~/.ssh/id_rsa.pub

在码云的设置里,添加公钥即可
git入门教程_第9张图片
验证是否配置成功
git入门教程_第10张图片

5、操作远程仓库

1、添加远程仓库

在本地告诉本地仓库,你所对应的远程仓库是哪一个?
先查看远程仓库的地址
git入门教程_第11张图片
然后在本地操作:

git remote add 远端名称  仓库路径
远端名称:默认是origin,取决于远端服务器设置
仓库路径:从远端服务器获取此URL
$ git remote add origin [email protected]:ly24/git_test.git

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

$ git remote
origin

3、推送到远程仓库

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

4、从远程仓库克隆

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

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

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

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

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

git pull [remote name]  [branch name]
如果不指定远端名称和分支名,则抓取所有并更新当前分支

你可能感兴趣的:(学习)