Git命令

Git命令

参考博客:git命令大全
在这里插入图片描述
专有名词

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

创建命令

在init了的管理库中

  1. 创建空文件
$ touch 文件名

git sttus查看,1.py属于Unchacked files

  1. 创建空文件夹
$ mkdir 文件夹名称

3.复制文件内容

//exam:将上一层的文件1.txt->此目录的1.txt
$ cp ../1.txt 1.txt
  1. 查看文件修改的区别
//Unstaged和上次commit后的区别
$ git diff 
//staged和上次commit后的区别
$ git diff --cached
//上面两个区别都有显示
$ git diff HEAD --文件名

补充:

  • *.py:对于所有py文件
  • 建立一个.开头的文件(比如.gitignore),然后在里面写入文件名,或者目录名(/dir1),add时可以屏蔽写入的文件。

关联命令

1.查看远程库的地址

$ git remote

2.指定一个地址为[url]的库作为当前库的远程库,(一般为想要关联的Github上面的库的地址)

$ git remote add origin [url]

提交命令

git commit 详解

git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id
  1. 添加提交信息
 $ git commit -m '提交信息'

当我们想要提交的message很长或者我们想描述的更清楚更简洁明了一点,我们可以使用这样的格式,如下:

    $ git commit -m ‘
    
    message1

    message2

    message3

    ’

如果没有写- m,git commit 会调用一个编辑器一般是vim来让你输入这个message。
在这里插入图片描述
i 插入文字的命令
前面有#,此句注释。删除掉想要执行的语句的#。
也可以在开头加入自己想要执行的命令,如add 1.txt
先按一下Esc,退出输入状态。
ZZ 退出vi界面
WQ保存并退出界面

  1. 提交工作区自上次commit之后的变化,直接到仓库区

新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。建议一般不要使用-a参数,正常的提交还是使用git add先将要改动的文件添加到暂存区,再用git commit -m提交到本地版本库。

$ git commit -a -m ‘提交信息’
  1. 追加提交,它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中
git commit --amend
  1. 查看帮助
$ git commit --help

文件修改状态

在这里插入图片描述

  1. 查看文件几次修改的不同
    每次更改过一次,staged的状态就会变为unstaged的状态
    unstaged状态包括unmodified和modified状态
#unstaged的状态和之前commit完成的状态的不同有哪些
git diff //按q退出

git status -s查看状态的缩写。

  • 如果已经add了文件,再使用git diff没有任何显示。(因为现在已经是staged的状态)
    查看staged的状态和commit后状态的不同
#暂存区(staged)和分支(master)的比较
git diff --cached
  • 如果想看unstaged,staged状态和分支的不同,可以用
#比较的是工作区中的文件与版本库中文件的差异。
git diff HEAD -- file

例子:
touch 1.py建立了1.py,修改内容“a=1”,git status -s发现1.py前是❓❓。
git diff --cachedgit diffgit diff HEAD -- 1.py无显示,因为仓库里没有任提交在里面。
git add 2.py后,git diff 无显示,git diff --cachedgit diff HEAD -- 1.py显示:
“+a=1(绿色)”

再次添加“b=2”,git status -s发现1.py前是AM(a红m绿)。
git diff显示:
“-a=1(红)
+a=1(绿)
+b=2(绿)

git diff --cached后,显示:
“+a=1”(绿)

git diff HEAD -- 1.py后,显示:
“+a=1”(绿)
+b=2(绿)

git commit -m"change1" ,1.py status变为前面是“M(红)”。
此时git diff --cached没有显示。
git diff HEAD -- 1.pygit diff显示:
“-a=1(红)
+a=1(绿)
+b=2(绿)

因为b=2修改保存后并没有add到暂存区,暂存区中只有a=1所以只会显示的是工作区(work dict)和暂存区(staged)的区别,暂存区和分支不存在区别,无显示。
当为下图情况时:

unstagedstaged上一次commit后的状态
a=1a=1a=1
b=2b=2b=2
c=3c=3c=3
d=4d=4
f=5

此时staus -s 显示的是MM 1.py(前M绿色,代表staged状态,后一个M红色代表我们后面加上的f=5,变成了一个unstaged的状态)

  1. git diff显示:
    在这里插入图片描述
    显示的是unstaged状态和上一次commit状态的不同
    补充:若add,则变成staged的状态,再次 git diff无显示,此时需要用 git diff --cached,会显示下图
    在这里插入图片描述

2.git diff --cached显示:
在这里插入图片描述
现在staged状态和上一个commit状态的不同:+d=4

git diff HEAD -- 1.py显示:
在这里插入图片描述
同时观看staged状态和unstaged的状态
前面的+d=4是staged的状态,+f=5是unstaged的状态。
补充: 如果用cached来显示,只会显示staged的状态

分支命令

1.创建分支

$ git branch 分支名

2.切换分支

$ git checkout 分支名

3.合并分支

//在一个分支中,执行下条语句,把下面的分支内容合并到本分支上
$ git merge 分支名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值