git,svn介绍与使用

Git介绍与使用-CSDN博客

Git介绍与使用

一、简介

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。

Git基本概念

分类 介绍
工作区 仓库的目录。工作区是独立于各个分支的。
暂存区 数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
版本库 存放所有已经提交到本地仓库的代码版本
版本结构 树结构,树中每个节点代表一个代码版本。

二、Git简单命令行入门

一键将本地文件推送到远程,使用命令+介绍

命令初始化一个新的 Git 仓库

1
git init

通过 git remote add 命令将远程仓库连接到您的本地仓库。

1
git remote add origin <远程仓库URL>

使用 git pull 命令拉取远程更新。

1
git pull origin master

将所有待加入暂存区的文件加入暂存区

1
git add .

“xxx给自己看的备注信息”:将暂存区的内容提交到当前分支

1
git commit -m "xxx"

推送到远程仓库(第一次提交加-u,标志用于与远程分支建立关联)

1
git push -u origin master

推送到远程仓库

1
git push

三、Git版本控制

  1. 拉去远程更新

    1
    git pull

    强制拉去覆盖本地

    1
    2
    3
    4
    git fetch --all	#  fetch 以将所有 origin/ 引用更新为最新:
    git reset --hard origin/master #
    git pull

  2. 将代码库回滚到上一个版本

四、Git常用命令

编号 命令 解释
1 git config –global user.name xxx 设置全局用户名,信息记录在~/.gitconfig文件中
2 git config –global user.email xxx@xxx.com 设置全局邮箱地址,信息记录在~/.gitconfig文件中
3 git init 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
4 git add XX 将XX文件添加到暂存区
5 git add . 将所有待加入暂存区的文件加入暂存区
6 git rm –cached XX 将文件从仓库索引目录中删掉
7 git commit -m “给自己看的备注信息” 将暂存区的内容提交到当前分支
8 git status 查看仓库状态
9 git diff XX 查看XX文件相对于暂存区修改了哪些内容
10 git log 查看当前分支的所有版本
11 git reflog 查看HEAD指针的移动历史(包括被回滚的版本)
12 git reset –hard HEAD^ 或 git reset –hard HEAD~ 将代码库回滚到上一个版本
13 git reset –hard HEAD^^ 往上回滚两次,以此类推
14 git reset –hard HEAD~100 往上回滚100个版本
15 git reset –hard 版本号 回滚到某一特定版本
16 git checkout — XX或git restore XX 将XX文件尚未加入暂存区的修改全部撤销
17 git remote add origin <远程Git仓库地址> 将本地仓库关联到远程仓库
18 git push -u (第一次需要-u,以后不需要) 将当前分支推送到远程仓库
19 git push origin branch_name 将本地的某个分支推送到远程仓库
20 git clone <远程Git仓库地址> 将远程仓库XXX下载到当前目录下
21 git checkout -b branch_name 创建并切换到branch_name这个分支
22 git branch 查看所有分支和当前所处分支
23 git checkout branch_name 切换到branch_name这个分支
24 git merge branch_name 将分支branch_name合并到当前分支上
25 git branch -d branch_name 删除本地仓库的branch_name分支
26 git branch branch_name 创建新分支
27 git push –set-upstream origin branch_name 设置本地的branch_name分支对应远程仓库的branch_name分支
28 git push -d origin branch_name 删除远程仓库的branch_name分支
29 git pull 将远程仓库的当前分支与本地仓库的当前分支合并
30 git pull origin branch_name 将远程仓库的branch_name分支与本地仓库的当前分支合并
31 git branch –set-upstream-to=origin/branch_name1 branch_name2 将远程的branch_name1分支与本地的branch_name2分支对应
32 git checkout -t origin/branch_name 将远程的branch_name分支拉取到本地
33 git stash 将工作区和暂存区中尚未提交的修改存入栈中
34 git stash apply 将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
35 git stash drop 删除栈顶存储的修改
36 git stash pop 将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
37 git stash list 查看栈中所有元素

三、补充

1、Git练习:

来玩Git小游戏 Learn Git Branching

2、Git 与 SVN 共同点与区别

共同点:

  1. 版本控制系统: SVN 和 Git 都是版本控制系统,允许开发人员跟踪文件的变化、回溯到不同的版本、合并多个开发者的工作等。
  2. 协作开发: 两者都允许多个开发者协同工作在同一个项目上,管理代码的更改和集成新功能。

区别:

  1. 分布式 vs. 集中式:
  • Git 是分布式版本控制系统,每个开发者都有一个完整的本地存储库副本,可以独立地工作、提交更改和合并。
  • SVN 是集中式版本控制系统,所有代码存储在一个中央服务器上,开发者需要与服务器进行交互来获取最新代码或提交更改。
  1. 工作方式:
  • Git 通过将每个版本作为文件系统快照来管理文件的变化。每次提交时,Git 会创建一个新的快照,包含项目当前状态的副本。
  • SVN 以文件为基础,跟踪每个文件的每个版本的变化。
  1. 分支和合并:
  • Git 的分支和合并非常快速和高效,因为它在本地存储库中保存了完整的历史记录,并且分支操作仅涉及指向不同提交的指针移动。
  • SVN 的分支和合并相对复杂,涉及创建复制版本,因为它是集中式系统,没有本地完整历史记录。
  1. 性能和效率:
  • Git 在处理大型项目和分支时通常更快、更高效,因为大部分操作都在本地完成。
  • SVN 在大型项目和分支方面可能会变慢,特别是在集中式存储库上。

Git下载:https://git-scm.com/download

SVN 官网:https://subversion.apache.org/

Github SVN 源码:https://github.com/apache/subversion


git,svn介绍与使用
https://leaf-domain.gitee.io/2023/10/01/gitAndSvn/
作者
叶域
发布于
2023年10月1日
许可协议