Git基础使用

Git

要想了解Git,首先需要我们了解一下VCS------版本控制系统(version control system)

VCS

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。

有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方。也就是无论文件最后被修改成什么样子,你都可以轻松恢复到原先的样子,但是额外增加的工作量却微乎其微。

git区域

  • 存储区域:Git软件⽤于存储资源得区域。⼀般指得就是.git⽂件夹
  • ⼯作区域:Git软件对外提供资源得区域,此区域可⼈⼯对资源进⾏处理。
  • 暂存区:Git⽤于⽐对存储区域和⼯作区域得区域。Git根据对⽐得结果,可以对不同状态得⽂件执⾏操作。

git配置邮箱和⽤户

第⼀次使⽤Git软件,需要告诉Git软件你的名称和邮箱,否则是⽆法将⽂件纳⼊到版本库中进⾏版本管理 的。这是因为在多⼈协作时,不同的⽤户可能对同⼀个⽂件进⾏操作,所以Git软件必须区分不同⽤户的 操作,区分的⽅式就是名称和邮箱。 git配置邮箱和⽤户

git使用基础命令

初始化:

git init

克隆:

git clone url
git clone url 新项目名

配置

//配置单个仓库
git config user.name xxx
git config user.email xxx@xx.xx
//配置全局
git config --global user.name xxx
git config --global user.email xxx@xx.xx

查看暂存区的状态

git status

将文件添加到暂存区

git add 文件名
git add *

将文件从暂存区移除

git rm --cached 文件

将文件提交到仓库

git commit -m 消息

查看历史提交

// 查看完整⽇志
git log
// 查看简短格式
git log --oneline

将仓库中的数据恢复到⼯作区 -- 将仓库中的⽂件把修改为添加的⽂件重新恢复

git restore xxxfile

将⽂件恢复到某个前⼀个节点

git revert 编号

将⽂件重置到某⼀个节点

git reset --hard 编号

警告:
在团队合作的共同操作⼀个仓库的时候, git reset 命令⼀定要慎重使⽤,在使⽤的时候⼀定要再三确认其他同学的代码是否会被重置操作⽽导 致代码丢失,导致⼀些提交记录的丢失,这些都是不可逆的,⼀定要慎重
创建⼀个新的分⽀

// 创建分⽀
git branch 分⽀名
// 创建并切换分⽀
git checkout -b 分⽀名

查看各分⽀版本

git branch -v

切换分⽀

git checkout 分⽀名

删除分⽀

git branch -d 分⽀名

将⼀个分⽀内容合并到另⼀个分⽀中

// 1. 要切换到需要合并的分⽀中
git checkout 分⽀名
// 2. 将另⼀个分⽀合并到当前分⽀中
git merge 另⼀个分⽀名

给提交添加⼀个标签(标签不能重复)

git tag 标签名 编号

使⽤标签查看

git tag

删除标签

git tag -d 标签名

关联远程仓库

// 添加远程仓库
git remote add origin 远程仓库的url、ssh
// 移除远程仓库
git remote remove origin
// 给远程仓库重命名
git remote rename 名字

查看远程仓库信息

// 显示远程仓库名
git remote
// 显示远程仓库地址
git remote -v
// 显示远程仓库详细
git remote show origin

推送到远程服务器

// 1. 进⾏权限认证
ssh-keygen -t rsa -C【ssh】
// 2. 在gitee中添加公钥
看下图
// 3. 推送
git push origin master
相关推荐
真的很上进1 小时前
【Git必看系列】—— Git巨好用的神器之git stash篇
java·前端·javascript·数据结构·git·react.js
小小安于乱1 小时前
git 更换远程地址的方法
git
高林雨露5 小时前
git 空项目初次提交项目命令记录
git
liu8341894476 小时前
git 本地分支误删,怎么恢复?误删本地已提交未推送的分支!
git
+码农快讯+6 小时前
Git clone远程仓库没有其他分支的问题
git
多恩Stone6 小时前
【Hugging Face 下载中断】Git LFS 如何下载指定文件、单个文件夹?
git·stable diffusion·huggingface·diffusers
佚明zj7 小时前
如何配置ssh key 到gitlab, 实现git push
git·ssh·gitlab
半糖11228 小时前
git配置SSH
git·ssh
橘色的喵11 小时前
git 如何基于某个分支rebase?
git·rebase
未来可期LJ11 小时前
【Git 操作】Git 的基本操作
git