初次接触Git ,记录一些坑

本文详细介绍了Git的基本配置,如全局配置文件的创建,SSH公钥的生成,以及版本库的连接、操作和管理。涵盖了工作区与版本库的交互,包括提交、推送、拉取等操作,以及撤销、回退和查看历史记录的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git命令行和Linux差不多

配置GIT,我们需要创建一个当前登录用户的全局配置文件.gitconfig

这个文件的路径默认创建在用户环境变量HOME下
在这里插入图片描述
首次配置需要通过输入git指令创建:

git config --global user.name "tl"  #名称
git config --global user.email "xxx"   #邮箱

生成ssh公钥

在用户目录下运行Git Bash , 输入

ssh-keygen -t -rsa

在这里插入图片描述
上面的是私钥,不能告诉别人;下面的是公钥,把公钥复制到gitee/github上,每个电脑有一个公钥,将之绑定在远程仓库,就可以免密连接远程仓库;

版本库连接远程仓库

注意:远程库中仓库的名称尽量和版本库所在的文件(工作区)名称一致;

有两种方式:
1. 1. 1. 先创建版本库,再连接远程仓库;
2. 2. 2. 直接克隆一个远程仓库,然后在这个克隆的仓库(工作区)上进行开发。

先创建版本库,再连接远程仓库

创建版本库

创建一个空目录,cd进去,显示当前路径;
这个空目录就是工作区;

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

初始化版本库,版本库就创建好了;

$ git init

连接远程仓库

$ git remote add origin git@gitee.com:tl/learngit.git

第一次连接远程仓库时需要把版本库的master分支和远程的master分支关联起来:加上-u
origin 是远程库的默认别称;

$ git push -u origin master

查看连接状态

$ git remote -v

删除远程库

$ git remote rm <远程库平台名字(自定义的)>

直接克隆一个远程仓库

$ git clone git@gitee.com:tl/learngit.git

执行后,本地就有learngit文件夹了,也即工作区;

工作区与版本库

版本库可以有多个分支;默认的是一个主分支;
在这里插入图片描述

本地和远程仓库的礼尚往来

本地通过push更新远程仓库

通过该指令将某个分支的所有文件或者所有修改的文件更新到远程仓库;

$ git push

本地通过pull将远程仓库的更新合并到本地

有时候远程仓库文件比你的本地更新,你需要将其合并来更新本地的,从而达成一致;

$ git pull

更新远程仓库

本地工作区创建了一个文件或者修改了某个文件,需要添加到缓存,再到分支,再push到远程仓库;

$ git add <file>
$ git commit -m "注释" 
$ git push

删除文件

删除单个文件:$ git rm <file>
删除某个路径:$ git rm -r <路径>

仅删除远程仓库与版本库的文件

加上–cached就不影响工作区的文件;

$ git rm --cached <file>
$ git commit -m "注释"
$ git push

仅删除版本库的文件

$ git rm --cached <file>
$ git commit -m "注释"

远程仓库连同工作区的文件一起删

注意:这里的删除把本地工作区的也删除了;

$ git rm <file>
$ git commit -m "注释"
$ git push

查看版本库状态

用于提示是否有更新文件没有加到缓存区,或者没有提交到分支上;以及本地与远程之间的差异;

$ git status

更新版本库

1. 1. 1. 添加修改到缓存区;
2. 2. 2. 提交修改到版本库的分支上;

$ git add <file>
$ git commit -m "注释"

查看版本库与工作区的差异

$ git diff HEAD -- <file>

查看已提交到分支上的文件

$ git ls-files

撤回restore

顾名思义,就是撤回的意思;

$ git restore <file>

版本回退reset

$ git reset --hard HEAD^

$ git reset --hard HEAD~100

$ git reset --hard commit id(模糊查询,不用补全)

查看文件修改记录

注意:有时运行$ git log会卡住光标,解决办法就是扩大命令行窗口;

$ git log

在这里插入图片描述

查看你的每一次命令记录

$ git reflog

在这里插入图片描述

带git的指令是处理版本库的,不带的则处理工作区的

默认情况下,版本库会更新本地工作区的文件

只要把文件提交到分支上,就不用担心误删了

因为可以通过回退找到之前的版本;
Git是基于存储修改的,他会记录你每一次修改,并通过指针来指向某一次修改版本,操作快,占存小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值