IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git操作 -> 正文阅读

[开发工具]Git操作

创建工作目录和常用指令

工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

日常使用只要记住下图6个命令:

创建本地仓库

1.git init 新建一个git库

2.git clone 从远程复制git库

git文件操作

查看文件状态

git status

添加文件

添加指定文件到暂存区:git add [file1] [file2] ...

添加指定目录到暂存区:git add [dir]

添加当前目录的所有文件到暂存区:git add .

移除文件与目录

从暂存区删除文件:git rm --cached <file>

通过重写目录树移除add文件:git reset HEAD <file>...

移除所有未跟踪文件:git clean -df (-d表示包含目录,-f表示强制清除)

查看文件修改后差异

比较差异:git diff [files]

比较暂存区的文件与之前已经提交过的文件:git diff --cached

比较repository与工作空间中的文件差异:git diff HEAD~n

签出

#用法一

git checkout [-q] [<commit>] [--] <paths>...

#用法二

git checkout [<branch>]

#用法三

git checkout [-m] [[-b]--orphan] <new_branch>] [<start_point>]

<commit>是可选项,如果省略则相当于从暂存区(index)进行检出

$ git checkout

#汇总显示工作区、暂存区与HEAD的差异。

$ git checkout HEAD

#同上

$ git checkout -- filename

#用暂存区中filename文件来覆盖工作区中的filename文件。相当于取消自上次执行git add filename以来(如果执行过)的本地修改。

$ git checkout branch -- filename

#维持HEAD的指向不变。用branch所指向的提交中filename替换暂存区和工作区中相 ??应的文件。注意会将暂存区和工作区中的filename文件直接覆盖。

$ git checkout -- . 或写作 git checkout .

#注意git checkout 命令后的参数为一个点(“.”)。这条命令最危险!会取消所有本地的 ?#修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

$ git checkout commit_id -- file_name

#如果不加commit_id,那么git checkout -- file_name 表示恢复文件到本地版本库中最新的状态。

提交

提交暂存区到仓库区

$ git commit -m [message]

# 提交暂存区的指定文件到仓库区

$ git commit [file1] [file2] ... -m [message]

# 提交工作区自上次commit之后的变化,直接到仓库区,跳过了add,对新文件无效

$ git commit -a

# 提交时显示所有diff信息

$ git commit -v

# 使用一次新的commit,替代上一次提交

# 如果代码没有任何新变化,则用来改写上一次commit的提交信息

$ git commit --amend -m [message]

# 重做上一次commit,并包括指定文件的新变化

$ git commit --amend [file1] [file2] ...

修订提交

如果我们提交过后发现有个文件改错了,或者只是想修改提交说明,这时可以对相应文件做出修改,将修改过的文件通过"git add"添加到暂存区,然后执行以下命令:

#修订提交

git commit --amend

撤销提交

原理就是放弃工作区和index的改动,同时HEAD指针指向前一个commit对象

#撤销上一次的提交

git reset --hard HEAD~1

要通过git log查看提交日志,也可直接指定提交编号或序号

git revert <commit-id>

这条命令会把指定的提交的所有修改回滚,并同时生成一个新的提交。

日志与历史

查看提交日志可以使用git log指令,语法格式如下:

#查看提交日志

git log [<options>] [<revision range>] [[\--] <path>…?]

查看所有分支日志

git reflog

撤销更新

撤销暂存区更新:git reset HEAD <file>

撤销本地仓库更新:

01:git reset --hard HEAD^

02:git reset --hard HEAD~1

03:git reset --hard HEAD --id

现在又想恢复被撤销的提交可用"git reflog"查看仓库中所有的分支的所有更新记录,包括已经撤销的更新,撤销方法与前面一样。

git reset --hard HEAD@{7}

git reset --hard e0e79d7

--hard:撤销并删除相应的更新

--soft:撤销相应的更新,把这些更新的内容放到Stage中

删除文件

# 删除未跟踪文件

$ 如果文件还是未跟踪状态,直接删除文件就可了,bash中使用rm可以删除文件

# 删除已提交文件

$?git rm <options> <file>

-f 强制删除

撤销删除:git checkout -- <file>...

# 删除暂存区的文件,不删除工作区的文件

$ git rm --cached <file>

$ git reset HEAD <file>

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 14:19:02  更:2021-09-27 14:20:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 9:58:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计