网站首页 > 编程文章 正文
Git介绍
Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
Git 的特点
- 分支更快、更容易。
- 支持离线工作;本地提交可以稍后提交到服务器上。
- Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
- Git 中的每个工作树都包含一个具有完整项目历史的仓库。
- 没有哪一个 Git 仓库会天生比其他仓库更重要。
1 Git安装与配置
1)Windows上安装Git
下载地址:https://git-scm.com/download/win
最新版本为:Git-2.27.0-64-bit.exe
安装步骤:
1.双击 Git-2.27.0-64-bit.exe 开始安装;
2.一直点击next,直到出现install,点击install,安装完成后点
击finish;
3.检查git是否安装OK
cmd -> git --version
C:\Users\Foreknew>git --version
git version 2.27.0.windows.1
2)Git配置
由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,在命令行输入下列的命令:
注意:git config --global参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱,根据个人情况设置。
2 Git基本用法
1、Git工作流程
2、Git命令
2.1)分支操作
1. git branch 创建分支
2. git checkout -b 创建并切换到新建的分支上
3. git checkout 切换分支
4. git branch 查看分支列表
5. git branch -v 查看所有分支的最后一次操作
6. git branch -vv 查看当前分支
7. git brabch -b 分支名 origin/分支名 创建远程分支到本地
8. git branch --merged 查看别的分支和当前分支合并过的分支
9. git branch --no-merged 查看未与当前分支合并的分支
10. git branch -d 分支名 删除本地分支
11. git branch -D 分支名 强行删除分支
12. git branch origin :分支名 删除远处仓库分支
13. git merge 分支名 合并分支到当前分支上
2.2)暂存操作
1. git stash 暂存当前修改
2. git stash apply 恢复最近的一次暂存
3. git stash pop 恢复暂存并删除暂存记录
4. git stash list 查看暂存列表
5. git stash drop 暂存名(例:stash@{0}) 移除某次暂存
6. git stash clear 清除暂存
2.3)回退操作
1. git reset --hard HEAD^ 回退到上一个版本
2. git reset --hard ahdhs1(commit_id) 回退到某个版本
3. git checkout -- file撤销修改的文件(如果文件加入到了暂存区,
则回退到暂存区的,如果文件加入到了版本库,则还原至加入
版本库之后的状态)
4. git reset HEAD file 撤回暂存区的文件修改到工作区
2.4)标签操作
1. git tag 标签名 添加标签(默认对当前版本)
2. git tag 标签名 commit_id 对某一提交记录打标签
3. git tag -a 标签名 -m '描述' 创建新标签并增加备注
4. git tag 列出所有标签列表
5. git show 标签名 查看标签信息
6. git tag -d 标签名 删除本地标签
7. git push origin 标签名 推送标签到远程仓库
8. git push origin --tags 推送所有标签到远程仓库
9. git push origin :refs/tags/标签名 从远程仓库中删除标签
2.5)其他常规操作
1. git push origin test 推送本地分支到远程仓库
2. git rm -r --cached 文件/文件夹名字 取消文件被版本控制
3. git reflog 获取执行过的命令
4. git log --graph 查看分支合并图
5. git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方
式合并,采用这种方式合并可以看到合并记录
6. git check-ignore -v 文件名 查看忽略规则
7. git add -f 文件名 强制将文件提交
2.6)git创建项目仓库
1、git init 初始化
2、git remote add origin url 关联远程仓库
3、git pull
4、git fetch 获取远程仓库中所有的分支到本地
2.7)忽略已加入到版本库中的文件
1、git update-index --assume-unchanged file 忽略单个文件
2、git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)
2.8)取消忽略文件
git update-index --no-assume-unchanged file
2.9)拉取、上传免密码
git config --global credential.helper store
3 Git基本操作
1、创建版本库
版本库就是我们所说的“仓库”,英文名repository,你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
下面在D:下创建了一个git 的版本库:
2、添加文件到版本库
要添加文件到版本库,首先需要将这个目录变为git可以管理的仓库,命令如下:
在git目录下创建一个test.txt文件:
git add:将文件提交到暂存区
git commit -m:将暂存区文件提交到仓库(单引号内为注释)
3、检查是否有未提交的文件
通过下面的命令,检查该版本库是否有文件未提交:
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git status
On branch master
nothing to commit, working tree clean
Foreknew@ForeknewPC MINGW64 /d/git (master)
4、检查文件是否被修改
修改test.txt,然后重新检查状态:
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be
committed)
(use "git restore <file>..." to discard changes in
working directory)
modified: test.txt
no changes added to commit (use "git add" and/or
"git commit -a")
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git diff test.txt
diff --git a/test.txt b/test.txt
index 59eb105..5d4ae7d 100644
--- a/test.txt
+++ b/test.txt
@@ -1,3 +1,5 @@
1111111111111111
2222222222222222
-3333333333333333
\ No newline at end of file
+3333333333333333
+4444444444444444
+5555555555555555
\ No newline at end of file
Foreknew@ForeknewPC MINGW64 /d/git (master)
git diff:查看文件修改的内容
5、查看历史变更记录
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git add test.txt
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git commit -m 'fixed 2'
[master 41ad1bb] fixed 2
1 file changed, 3 insertions(+), 1 deletion(-)
Foreknew@ForeknewPC MINGW64 /d/git (master)
$ git log
commit 41ad1bba8cdc8b528f3e3182e7d84e1146220f05
(HEAD -> master)
Author: admin <admin@163.com>
Date: Sat Jun 27 14:25:31 2020 +0800
fixed 2
commit dcfca195de64c268af6aa6c281f4e32dfa537ee6
Author: admin <admin@163.com>
Date: Sat Jun 27 14:16:03 2020 +0800
test.txt file commit 2020-06-27
Foreknew@ForeknewPC MINGW64 /d/git (master)
$
git log:获得历史修改记录
git log --pretty=oneline:使记录只显示主要的内容,一行显示
6、回退版本
git reset --hard HEAD^:回退到上一个版本
git reflog:获取历史版本号
git reset --hard 版本号:回退到该版本号对应的版本
PS:如果要回退到上上个版本,可以使用git reset --hard HEAD^^命令,但是这样稍显麻烦,
如果回退到100个版本之前,只需要执行这个命令即可:git reset --hard HEAD~100;
7、将本地文件推送到github仓库
检查文件是否还有未提交或者修改的,然后将文件提交到github仓库,命令如下:
8、克隆GitHub远程仓库
-End-
- 上一篇: Pycharm上Git安装和使用(程序员必备)
- 下一篇: 快速由Svn切换到Git,Git操作详解
猜你喜欢
- 2024-10-10 git秘钥问题解析及gitlab配置(git密钥在哪个文件夹)
- 2024-10-10 PyIDM开源高速引擎Internet下载管理器,搬运工福利
- 2024-10-10 python安装weditor失败, error: subprocess-exited-with-error
- 2024-10-10 自动化测试基础:pycharm如何关联git对GitHub进行代码管理?
- 2024-10-10 git搭建以及使用,搭建github远程仓库
- 2024-10-10 一款运行于windows上的linux命令神器-Cmder(已经爱不释手)
- 2024-10-10 .NetCore+git+IIS+Jenkins的CI/CD
- 2024-10-10 巧妙利用代码托管平台gitee,再也不用担心找不到Java项目
- 2024-10-10 这个40M的小工具助你在windows下处理数据如虎添翼
- 2024-10-10 新手快速上手Git与小乌龟(git小乌龟怎么合并代码)
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)