git的基本代码

基本代码

  • 初始化git(建立工作目录):git init
  • 了解所在位置:pwd
  • 创建新目录:mkdir ***
  • 列出显性文件:ls
  • 列出所有文件:ls -A
  • 切换目录:cd ***
  • 目录回退:cd .. 

向git介绍自己的信息

  • 向git进行自我介绍:git config --global user.name "*****"
  • 告诉git自己的邮箱:git config user.email "*****"

git3个阶段转换的代码及状态查看

  • 将工作目录的某个文件复制到索引:git add ****
  • 将索引上的某个文件提交到对象数据库:git commit -m "****" 
  • 工作目录的状态查看:git status

分支

  • 创建新的分支:git branch ****
  • 列出所有分支(有*的为当前所处分支):git branch
  • 切换分支:git switch ***
  • 记录分支名和最后一个提交的ID: git branch -v
  • 帮助: git branch -h(简洁版本)/ git branch -help(详细版本)
  • 分支合并:git merge ****  (此处需要注意要将分支转到集成分支,即欲将****并入目的分支上,需确保此时在目的分支上,再执行该分支合并代码)
  • 删除分支:git branch -d ****
  • 撤销分支的删除:git branch <branch-name> <base-commit-id>

调查

查看当前分支提交史的几种方式:

  • 详细列出当前分支的所有提交:git log
  • 显示提交ID中能唯一识别的标识即可:git log --abbrev-commit
  • 不显示作者和日期的信息:git log --pretty=oneline
  • 即不显示全部ID,也不显示作者和日期的信息:git log --pretty=oneline --abbrev-commit 或简化为:git log --oneline

查看所有分支的所有提交史:

对命令进行说明:(注:‘git log’ 后的字段位置可按需任意变换或删除)

  • log 命令是查看日志的命令
  • --oneline 是显示缩略的提交,且为单行
  • --all 在日志中显示所有分支
  • --graph 将日志显示为一个图

因此,缩略显示所有分支的所有提交为:git log --oneline --all  --graph

比较状态中文件的差异

(说明:工作目录的文件为修改后保存的最初文件

              索引中的文件为文件修改保存后,并且执行了git add 的文件

              对象数据库文件为文件修改保存后,执行了git add 、git commit 的文件)

  • 比较索引中文件(旧)和工作目录中文件(新)的差异(行差异):git diff
  • 比较索引中文件(旧)和工作目录中文件(新)的差异(单词差异):git diff --word-diff
  • 比较对象数据库文件(旧)和索引中的文件(新)的差异:git diff --cached 或git diff --staged

比较分支“顶端”文件中的差异

  • 比较不同分支上文件的差异:git diff 目标分支a- 源分支b+ (后欲将源分支b合并到目标分支a上)

比较提交

两个提交甚至可以不在同一个分支上,提交ID可以通过git log系列命令查到

  • 通过两个提交ID去比较两个提交之间的差异:git diff 目标ID-  源ID+ 
  • 通过当前提交(HEAD)与祖先提交(HEAD~1/HEAD~2...)之间比较差异:git diff HEAD~1 HEAD
  • 对于有两个父提交的提交:git diff HEAD^1 HEAD^2
    • 其中HEAD^1为申请分支的最后一个提交,HEAD^2是被申请分支的最后一个提交
    • 还能将^与~合并使用,^后的数看哪个分支,~后的数看当前位置往后的祖先个数

撤销

注意要时刻使用git status观察状态,git log查看日志,

  • 对已提交的文件进行修改后,需要撤销工作目录中的变更(撤销修改):git restore 文件名
  • 对已提交的文件进行修改后,需要撤销索引中文件的变更:git restore --staged 文件名
  • 对已提交的文件进行删除(工作目录和索引同时变,数据库需提交保存):git rm 文件名
  • 删除目录(目录中的文件全部删除):git rm -r 目录名
  • 对已提交的文件进行重命名或者移动(工作目录和索引同时变):git mv 原文件名 变更名
  • 对已提交的文件进行提交消息的编辑:git commit --amend -m "修改提交消息"
  • 对分支重命名(切换到需要修改名字的分支):git branch -m 分支新名 或 git brach -move 分支新名
  • 对分支重命名(不需要切换到修改名字的分支):git branch -m 原分支名 新分支名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值