Git介绍与使用

Git介绍与常用命令的使用

目录:
一、Git简介
二、Git简单命令行入门
三、Git常用命令
四、常见问题补充

一、Git简介

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

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

二、Git简单命令行入门

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

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

bash 复制代码
git init

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

bash 复制代码
git remote add origin <远程仓库URL>

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

bash 复制代码
git pull origin master

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

bash 复制代码
git add .

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

bash 复制代码
git commit -m "xxx"

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

bash 复制代码
git push -u origin master

推送到远程仓库

bash 复制代码
git push

三、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 在大型项目和分支方面可能会变慢,特别是在集中式存储库上。
3、官方等相关链接?

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

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

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

相关推荐
油泼辣子多加1 小时前
2024年11月8日Github流行趋势
github
Cachel wood2 小时前
Github配置ssh key原理及操作步骤
运维·开发语言·数据库·windows·postgresql·ssh·github
清源妙木真菌2 小时前
Linux:git的了解和基础使用(保姆级教程)
git
但老师11 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y11 小时前
git创建分支
git
研究是为了理解16 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT16 小时前
Git 的基本概念和使用方式
git
Winston Wood19 小时前
一文了解git TAG
git·版本控制
喵喵先森20 小时前
Git 的基本概念和使用方式
git·源代码管理
王解21 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github