首页 > 其他分享 >git入门

git入门

时间:2023-10-16 22:47:02浏览次数:30  
标签:文件夹 文件 Git 入门 仓库 git 目录

git入门

今天在学习黑马的实战项目时讲到了git,突然发现我还没有学过这部分内容,然后去b站找到了大佬狂神的这部分课,有参考了一些笔记(相关链接放在文末),自己随便总结了一下,以方便日后回顾学习。

1.什么是版本控制

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

简单说就是用于管理多人协同开发项目的技术。

Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!

Git是目前世界上最先进的分布式版本控制系统。

2.软件下载

方式一:git官网下载:https://git-scm.com/

方式二:淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/

推荐使用方式二,亲测速度很快

3.启动FGit

安装成功后在开始菜单中会有Git项,菜单下有3个程序:任意文件夹下右键也可以看到对应的程序!

我的是win11:文件夹下右击 -- 显示更多选项 --- Open Git Bash(推荐)

​ Unix与Linux风格的命令行,使用最多,推荐最多

3.常用的Linux命令

1)、cd : 改变目录。

2)、cd . . 回退到上一个目录,直接cd进入默认目录

3)、pwd : 显示当前所在的目录路径。

4)、ls(ll):  都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。

5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。

6)、rm:  删除一个文件, rm index.js 就会把index.js文件删除。

7)、mkdir:  新建一个目录,就是新建一个文件夹。

8)、rm -r :  删除一个文件夹, rm -r src 删除src目录

​```
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
​```

9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。

10)、reset 重新初始化终端/清屏。

11)、clear 清屏。

12)、history 查看命令历史。

13)、help 帮助。

14)、exit 退出。

15)、#表示注释

4.Git的配置

首先说明的是,在安装git的时候环境变量就已经自动配置了,无需可以的去配置,如果想要重新下载安装git,需要先清除环境变量。

查看配置 git config -l
#查看系统configgit config --system --list  
#查看当前用户(global)配置git config --global  --list
设置用户名与邮箱(用户标识,必要)

当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:

git config --global user.name "qym11"  #名称
git config --global user.email [email protected]   #邮箱

5.Git核心知识

Git本地有三个工作区域:工作目录(Working Directory)、

​ 暂存区(Stage/Index)、

​ 资源库(Repository或Git Directory)。

如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

image-20231016215937990
  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

6.核心流程

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

2、将需要进行版本管理的文件放入暂存区域; git commit

3、将暂存区域的文件提交到git仓库。 git push

image-20231016220204913

7.项目搭建

7.1创建工作目录

工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

7.2本地仓库的搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

1. 创建全新的仓库,需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
2. 克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地!
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]  例如 git clone https://gitee.com/qym111/git-test.git

8.git文件操作

文件的四种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
#查看指定文件状态git status [filename]
#查看所有文件状态git status
# git add .                  添加所有文件到暂存区
# git commit -m "消息内容"    提交暂存区中的内容到本地仓库 -m 提交信息

9.使用码云

9.1注册

注册登录完成后 --- 设置本机绑定SSH公钥,实现免密码登录

*进入 C:\Users\Administrator.ssh 目录

如果没有 .ssh目录,通过命令 ssh-keygen 生成SSH Key 中间通过三次回车完成

这时.ssh目录如下:

image-20231016221438908

打开第二个文件(vs code可以打开)复制粘贴到 码云相关位置即可

9.2创建仓库

绑定有i想时一定要设置公开,否则后面无法上传

10.Idea中集成git

新建项目,将之前新建的(或者从仓库中克隆的文件)拷贝到项目中即可

image-20231016221955322

隐藏文件也要拷贝

然后打开idea操作idea即可

  • 添加到暂存区
  • commit 提交
  • push到远程仓库
image-20231016222117473

可以使用图形化界面来操作其添加,提交,上传等操作

也可以使用命令行来进行操作

​ git add .

​ git commit

​ git push

大概就是这些,之后的分支等其他一些内容之后再补充。、

大家想要更加仔细的学习可以在b站看狂神老师的课:1、前言之版本控制_哔哩哔哩_bilibili

参考的笔记:视频同步笔记:狂神聊Git (qq.com)

以上内容值留作学习使用,无任何其他意思。

标签:文件夹,文件,Git,入门,仓库,git,目录
From: https://www.cnblogs.com/qymblogs/p/17768563.html

相关文章

  • Linux基础入门
    通用快捷键tab按键补全,双击tab展示所有可能性:setnu显示行号上下键切换写过的命令开关机reboot重启poweroff关机;shutdown–hnow立刻关机ctrl+c强制停止命令的运行,退出当前命令的输入ctrl+d退出或登出history查看历史命令清屏ctrl+l或clear查询IP地址LInux:if......
  • 前端打怪之旅=>Es6入门(对象简化写法、函数)
    对象的简化写法ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法这样的书写更加简洁letname='浅辄';letchange=function(){console.log('我可以改变世界');}constschool={......
  •  iOS代码混淆-从入门到放弃
    ​ iOS代码混淆-从入门到放弃目录1.什么是iOS代码混淆?2.iOS自动代码混淆的方法是什么?3.iOS代码混淆的作用是什么?4.怎么样才能做到更好的iOS代码混淆?总结参考资料 1.什么是iOS代码混淆?代码混淆是指将程序中的方法名、属性名等符号重命名,并对代码进行改写,使其加......
  • 小白CNN入门指导
    小白CNN入门指导这几天一直在小白入门学习卷积层以准备组会,以下是我自学理解内容,若有错误的地方请各位评论指出数学部分一卷积层\[输入32*32*3(inputneurons)\]\[\downarrow\]\[过滤器5*5*3(fitter)/神经元/核\downarrow会覆盖784个不同的位置\]\[\downarrow\]\[\l......
  • 解决git提交每次都要输入密码
    在我们的项目目录下打开控制台,输入gitconfig--globalcredential.helperstore然后生成一个.git-credentials,上边记录你的账号和密码,只需要输入一次用户名和密码,就会把账户信息保存到这个文件中。下次就不会弹出让你输入用户名和密码的提示啦......
  • google gtest框架入门使用案例
    通过本文可以收获:googlegtest急速入门、googlegtest资源网站。googlegtest是什么googlegtest是谷歌开源的c++单元测试框架,非常的好用。起码个人感觉和springboot自带的测试框架功能差不太多。安装略过,请参考:GitHub-google/googletest:GoogleTest-GoogleTesting......
  • JVM入门笔记
    1.JVM介绍Java虚拟机(JavaVirtualMachine简称JVM)是运行所有Java程序的抽象计算机,是Java编程语言的运行环境,它是Java最具吸引力的特性之一。JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件,这就是Java跨平台的本质原因。由于Java是开放的,有越来越多的编程......
  • 自邮之翼Java Web开发入门学习之旅 阶段一
    这个阶段的任务是“完成开发环境的安装和配置,并基于JSP实现一个“HellotheWorld”页面。主要使用的开发环境为:IntellijJava,进行开发前需要完成的环境配置如下:·配置java环境(JDK17)·配置maven环境(apache-maven-3.9.4)·配置Tomcat环境(apache-tomcat-10.1.13)以上均需要......
  • GIT
    Git目录Git简介安装与常用命令本地仓库配置别名基础操作分支分支规范仓库托管配置ssh公钥常用指令git在Idea中的使用简介分布式版本控制工具安装与常用命令ls/ll查看当前目录cat查看文件内容touch创建文件vivi编辑器i或insert键:插入esc退出编辑模式zz或:wq......
  • Git笔记
    Git打标签gittagtagName-m"info"#打一个标签gittag-dtagName#删除一个标签gitshow#全部tag信息gitshowtagName#查看一个taggittag#全部tag省略信息回滚gitreset--hard"提交HASH值"#回退到指定版本gitpush-foriginmaster#强制提交......