十分钟学会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] #检出标签
相关推荐
YEAH!启动!3 分钟前
WPS二次开发系列:WPS SDK事件回调
android·java·前端·pdf·word·wps·ppt
苏七七学姐17 分钟前
Java面试易忽略知识点
java·开发语言·面试
平乐君21 分钟前
Leetcode 刷题笔记1 图论part01
笔记·leetcode·图论
西奥_21 分钟前
【Spring】循环依赖
java·后端·spring
宋发元23 分钟前
Java 中 LinkedList 的底层数据结构及相关分析
java·开发语言·数据结构
Allen_LVyingbo27 分钟前
英伟达GTC 2025大会产品全景剖析与未来路线深度洞察分析
人工智能·笔记·学习
Java技术小馆44 分钟前
JVM逃逸分析作用和原理
java·后端·面试
梦想歌1 小时前
前后端对接必备!基于 Spring 实现自定义错误信息返回
java·spring boot·spring
心灵宝贝1 小时前
IntelliJ IDEA 2023.3.1安装指南从下载到配置的完整教程(附资源下载)
java·ide·intellij-idea
codexu_4612291871 小时前
如何在 Github 上获得 1000 star?
笔记·开源·github