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

相关推荐
苏三有春4 分钟前
五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)
git·go·github
油泼辣子多加11 小时前
2024年12月18日Github流行趋势
github
high201111 小时前
【Git】-- 版本说明
git
hunteritself11 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
kaixin_learn_qt_ing12 小时前
git clone
git
sin220112 小时前
git stash
git
行者彡12 小时前
gitee别人仓库再上传自己仓库
gitee
喝鸡汤12 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农12 小时前
git 同步分支操作
git
sin220112 小时前
git推送本地仓库到远程(Gitee)
git·gitee