Git-纯命令行操作

svn

集中式管理,版本库放在中央服务器。
在这里插入图片描述

git

分布式版本控制系统,每个人的电脑就是完整的版本库。
在这里插入图片描述

Git工作流程

在这里插入图片描述

  1. 在工作目录中添加、修改文件
  2. 将需要进行版本管理的文件放入暂存区域
  3. 将暂存区域的文件提交到Git仓库

实战

  1. 建立文件夹
mkdir git_project
  1. 初始化
git init

输出在这里插入图片描述
生成 .git 文件目录

  1. 编写说明文件
touch README.md
vim README.md
写入如下内容
This is a big project!
  1. 将README.md文件加人暂存区并提交到仓库
git add README.	md 		# 加入暂存区
git commit -m "add a readme file"	#提交到仓库
输出如下:

在这里插入图片描述

  1. 查看状态
git status

在这里插入图片描述

  1. MIT 版权协议
vim LICENS
内容如下:
	Copyright (C) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  1. 此时再次查看状态 git status
    在这里插入图片描述
    加入暂存区git add LICENS,后再次查看状态git status
    在这里插入图片描述
    此时可以使用git restore HEAD移除上一步的暂存区:
    在这里插入图片描述
    再次重新提交licese文件
git add LICENS
git commit -m "add a licens file"
  1. 修改仓库中的文件vim LICENS
    在这里插入图片描述
    使用git checkout -- LICENS使用暂存区的文件把修改的文件覆盖掉。
  2. 修改仓库中的文件vim LICENS,使用git add LICENS放入暂存区
    在这里插入图片描述
    此时再次修改vim LICENS
    在这里插入图片描述
    需要将修改后的文件再次add后commit
git add LICENS
git commit -m "add licens file"
  1. 查看历史提交
git log

在这里插入图片描述

  1. reset指令

在这里插入图片描述

git reset HEAD~   # ~表示上一个快照,~~上连个快照

在这里插入图片描述
git rest --mixed HEAD~

  • 移动HEAD的指向,将其指向上一个快照
  • 经HEAD移动后指向的快照回滚到暂存区域

git reset --soft HEAD~

  • 移动HEAD的指向,将其指向上一个快照(相当于撤销一个commit指令)

git reset --hard HEAD~

  • 移动HEAD的指向,将其指向上一个快照
  • 经HEAD移动后指向的快照回滚到暂存区域
  • 将暂存区域的文件还原到工作目录
  1. 回滚指定快照
git reset id号
  1. 回滚某个文件
git reset id号 文件名/路径
  1. diff 指令

新建项目

mkdir git_project2
cd git_project2
vim README.md	#内容自己写
vim test.cpp   #自定义
git add README.md test.cpp
git commit -m "word game"

修改README.md 和 test.cpp文件内容

使用 git diff比较文件内容

使用 git diff 快照ID1 快照ID2比较两个历史快照

  1. 修改最后一次提交,提交文件,但保留最后一次的提交说明
    git commit --amend修改提交说明

  2. 删除文件
    git rm <file>
    git reset --soft HEAD~

  3. 重命名文件

    git mv <old_file> <new_file>

git分支
git branch <分支名称>创建分支
git checkout <分支名称>切换分支

  1. 使用git checkout可以进入匿名分支,在这里面可以进行任何操作,commit 后可以使用git checkout master返回主分支,之前做的任何修改都不会被保存。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值