十分钟学会Git

Git 和SVN 的区别:
  • 架构模式:
    Git分布式版本控制系统,每个开发者的本地仓库都包含完整的历史记录,可以离线操作;而 SVN集中式版本控制系统,所有版本数据集中存放在中央服务器上,操作大多依赖网络。

  • 分支与合并:

    Git 的分支非常轻量,创建、切换和合并速度快,便于多人并行开发;而 SVN 的分支基于目录复制,操作相对繁琐,合并时容易出现冲突。

  • 性能与速度:
    Git 大部分操作在本地完成,响应速度快;SVN 每次操作都需与中央服务器交互,因此速度较慢,受网络影响大。

  • 数据完整性与安全性:

    Git 采用 SHA-1 哈希算法确保数据完整性,并且每个本地仓库都是完整备份,降低了单点故障风险;SVN 的数据集中存储,一旦中央服务器出问题,可能会影响整个代码库。

  • 工作流程与协作方式:
    Git 支持离线提交、灵活分支和便捷合并,非常适合分布式、多团队协作;而 SVN 则需要实时联网提交,权限管理较严格,适用于对文件控制要求较高的环境。

基本Linux 命令
bash 复制代码
# 切换目录
cd /path/to/directory

# 返回上一级目录
cd ..

# 显示当前工作目录
pwd

# 列出当前目录内容 (ll 通常是 ls -l 的别名)
ls
ll

# 新建一个文件或更新文件修改时间
touch index.js

# 删除一个文件
rm index.js

# 新建一个目录
mkdir myFolder

# 递归删除目录及其内容
rm -r myFolder

# 移动(或重命名)文件/目录
#   - 将 index.html 移动到 src 目录
mv index.html src
#   - 重命名文件
mv oldName.txt newName.txt

# 1重置终端(清屏并重新初始化)
reset

# 清屏(保留历史记录)
clear

# 查看命令历史记录
history
Git命令

commit : 提交到本地仓库.
push : 推送到远程仓库.
pull : 拉取,将远程仓库文件和版本信息下载到本地仓库.

bash 复制代码
git add <filename>  #将文件加入暂存区
git add . #将所有文件添加到暂存区

git commit -m "提交说明" #将暂存区的文件提交到版本库,并指定消息

git push #推送到远程仓库


git init #本地初始化.git文件

git clone [远程仓库url] #将远程仓库克隆到本地

git reset #将暂存区的文件取消暂存或者是切换到指定版本

git remote #查看远程仓库

git remote add #添加远程仓库

git pull #从远程仓库拉取文件


git log #查看提交历史

git status #查看所有文件状态
git status [filename] #查看指定文件状态
几个重要目录

版本库: 就是.git隐藏文件夹,里面存储了配置信息、日志信息,文件版本信息等

工作区(工作目录): 包含.git文件夹的目录,用于存放开发的代码.

暂存区:就是.git文件夹中的index文件,也叫stage。用于临时保存修改文件.

版本库使用git push命令提交到远程仓库

工作区中文件的两种状态:

  • untracked 未跟踪(未被纳入版本控制)

  • tracked 已跟踪(被纳入版本控制)
    Unmodified 未修改
    Modified 已修改
    Staged 已暂存

  • git add → 和Git 无关

  • git add 了但未 commit → 在暂存区

  • git commit 了 → 被 Git 真正管理并记录历史

分支操作
bash 复制代码
git branch #查看分支
git branch -r #列出所有远程分支
git branch -a #列出所有本地分支和远程分支

git branch [name] #创建分支
 
git checkout [name] #切换分支

git push [shortName] [name] #推送至远程仓库分支

git merge [name] #合并分支
标签操作
bash 复制代码
git tag #列出已有标签

git tag [name] #创建标签

git push [shortName] [name] #将标签推送至远程仓库

git checkout -b [branch][name] #检出标签
相关推荐
RLG_星辰8 分钟前
prime-2 靶场笔记(vuInhub靶场)
linux·笔记·网络安全·渗透测试·权限维持·smb协议·lxd提权
写bug写bug9 分钟前
小小 Stream,一篇文章拿捏它
java·后端
写bug写bug13 分钟前
好用的Lombok注解
java·后端
码熔burning27 分钟前
【NIO番外篇】之组件 Selector
java·io·nio·selector
triticale40 分钟前
【数论】线性筛质数
java·算法
百锦再1 小时前
Android ImageView 使用详解
android·java·app·手机·安卓·studio
续亮~1 小时前
提示词 (Prompt)
java·人工智能·prompt·ai编程·springai
aiden:)1 小时前
设计模式之工厂模式(factory pattern):在商品对象创建系统中的应用
java·开发语言·设计模式·软件工程·软件构建
小豹子的技术笔记1 小时前
git在分支上会退到某个指定的commit
git
Tdm_8881 小时前
SQL Server中OPENJSON + WITH 来解析JSON
java·数据库·sql·c#·json·mssql