【学习笔记】Git

Git

一、git的安装

1.官网:Git (git-scm.com) 速度较慢

2.淘宝镜像:http://npm.taobao.org/mirrors/git-for-windows/ 速度快

 

下载完后直接无脑安装

image-20230722164344068

这一步是选择git的默认文本编辑器,我的选择是vs code

 

安装完成后,鼠标右键,打开 Git Bash Here 就能看到git的命令窗口了。

image-20230722165735662

安装完成后,自动配置了环境变量。配置环境变量的作用就是保证我们能够全局使用git。

 

二、Git基本命令

(1)cd :改变目录

cd + 目录名 ,就是进入这个目录。多级目录同理

(2)cd .. :回退到上一级目录

(3)pwd :查看当前在哪个目录

(4)clear :清屏

(5)ls :列举出当前目录下的所有文件和目录

绿色:程序,蓝色:目录,白色:文件

(6)ll :与ls命令相同,都是列举出目录下的所有文件,但ll列举的更加详细

ll列举除了文件的访问权限、创建时间、文件大小、作者等等。

(7)touch :在当前目录下新建文件

(8)rm :删除一个文件

(9)mkdir :新建一个文件夹

(10)rm -r :删除文件夹

rm -rf 代表该目录下的所有文件

rm -rf / 代表删除根目录下的所有文件,相当于删除整个系统,切勿尝试!

(11)mv :移动文件

mv 文件名A 目录名B ,把文件A移动到目录B下

(12)reset :初始化终端

(13)history :查看使用过的所有命令

(14)help :查看帮助

(15)exit :退出终端

 

三、Git配置

在配置之前,先来查看git的配置

(1)git config -l :查看git的所有配置(包括系统配置和用户配置)

(2)git config --system --list :查看系统配置

系统配置保存在了本地的文件中

本地配置路径:git安装目录\etc\gitconfig

image-20230722174641684

 

(3)git config --global --list :查看用户配置

用户配置的本质也是保存在本地的文件

文件路径:C:\User\Administrator\.gitconfig

学会看配置后,我们来配置一些用户配置,如用户名和邮箱

git config --global user.name "username" :配置用户名

git config --global user.email "email" : 配置邮箱

 

四、Git基本理论

下面是git的核心内容

首先介绍四个工作区域:

工作目录(Working Directory):代码的存放目录。

缓存区(index/stage):是一个文件,用于存放你的临时的改动。

资源仓库(Repository):本地Git仓库

Git仓库:远程仓库,github或gitee

image-20230722193512581

 

工作流程

1.在工作目录中添加、修改文件

2.将需要进行版本管理的文件放入缓存区

3.将缓存区的文件提交到git仓库

image-20230722194020228

 

五、Git项目搭建

搭建git项目有两种方式:

  1. 本地仓库搭建

    git init :初始化本地仓库

    初始化之后,会在目录中多出一个.git目录

    image-20230722195034714

  2. 远程仓库克隆

    git clone url :从远程仓库克隆项目

 

六、Git文件操作

在我们工作目录中存放着我们的代码文件,这些文件有四个状态

Untracked:未跟踪,也就是文件还没有被提交的缓存区

Staged:暂存状态,文件已经被放到缓存区,还没有提交到仓库

Unmodify:文件已入库,未被修改

Modifyed:文件已修改,没有其他操作

git status 这个命令用来查看文件的状态

git status . ---> 查看所有文件的状态

git status 文件名 ---> 查看该文件的状态

 

举例:

我们工作目录中有一个test.txt文件,先查看它的状态

image-20230722201306742

可以看到是Untracked

我们使用git add .将其提交到缓存区 (git add . 是将所有文件提交到缓存区,如果想要提交某个文件可以直接加文件名即可)

image-20230722201617549

提交到缓存区之后,我们发现这个文件名变成了绿色的,说明它的状态是Staged

然后使用git commit -m “备注信息” 将缓存区中的文件提交到本地仓库

image-20230722202030047

image-20230722202045570

再次查看文件状态,发现没有文件是未提交状态。

 

七、码云

设置本机远程连接的SSH公钥

  1. ssh-keygen :用来生成公钥的命令

    image-20230722204826076

    执行完这个命令后,找到本地的ssh目录 C:\User\Administrator.ssh,在这个目录中会有两个文件,在id_rsa.pub中就是你的SSH公钥

    image-20230722204949207

    复制下来后保存到码云设置中。

  2. 新建仓库

  3. 把远程仓库克隆到本地

    git clone

 

八、关于分支

分支相当于几个不同的开发路线,每个单独的分支都不影响其他分支的的运行。在上述的例子中我们都在主分支(master)上进行操作。

分支的作用:我们在主分支上运行的同时,想要增加一个功能或修改一个bug,我们就可以把master赋值一份出来,在这个分支上进行编写或修改,完成后进行分支的合并即可。

分支的常用命令

git branch 列出所有本地分支

git branch -r 列出所有远程分支

git branch [branch-name] 新建一个分支,但仍在原来分支运行

git checkout -b [branch-name] 新建分支,并切换到该分支

git merge [branch-name] 合并指定分支到该分支

git branch -d [branch-name] 删除分支

git push origin --delete [branch-name] 删除远程分支

git branch -dr [branch] 删除远程分支

 

九、最后

注意看,在gitee网站最下面的链接有git命令大全,之后学习可以查阅。

 

使用中遇到的问题

  1. 在主分支master之外新建分支dev,在dev分支下新建文件并编辑。

    编辑完成后,如果直接切换分支会有如下错误提示:

    您对以下文件的本地更改将被签出覆盖:
    ​
    testBranch.txt
    ​
    请在切换分支之前提交更改或将其隐藏起来。
    正在中止

    我们将其add到缓存区,再次切换分支,还是会有上面的错误提示。

    然后我们将其commit到仓库,在切换到master就成功了。

    在master中合并dev分区,然后push到远程仓库。在远程仓库中可以看到在dev分区编辑的内容。

 

  1. 如果远程仓库里有本地仓库中没有的文件,直接push,会报错

    image-20230724143751131

    更新被拒绝,因为远程包含您所做的工作

    提示:本地没有。这通常是由另一个存储库推送引起的

    提示:到相同的参考。您可能想首先集成远程更改

    提示:(例如,“git pull…”),然后再按。

    提示:有关详细信息,请参阅“git push--help”中的“关于快进的注意事项”。

    ==解决办法是:先pull远程仓库的文件到本地==

    然后在add和commit

    再次push就行了

    push时会报如下错误:

    fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use

    git push --set-upstream csas master

    To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.

    原因是没有将本地分支与远程分支关联,可按给出的提示进行修改。

    ==git push --set-upstream csas master==

posted @ 2023-07-22 21:49  GrowthRoad  阅读(14)  评论(0编辑  收藏  举报