Git 命令 clone、init 、add、status、diff、commit、rm、.gitignore 使用

目录

clone 克隆服务器项目到本地

init 初始化仓库并推送到服务器

status 查看项目目录状态

diff 查看变更内容

add 添加文件到暂存区

重置暂存文件

commit 项目提交

rm 删除文件

.gitignore 忽略文件

Git  常用命令速查表


git clone:将GitHub服务器上的项目仓库克隆到本地机器

git status:输出项目目录的状态,从而知道所有编辑过的文件。能了解远程库中和本地工作目录中之间的文件差异。

git add:选择需要发送回远程库的文件,将它添加到暂存区(staging)

git commit:会将存储在暂存区中的文件和来自用户用于以及日志信息一起存储在一个新的地方。

git push:将提交的更改从本地机器上传到 GitHub 的远程仓库中

可以看到在 Git Bash 中操作命令其实就和在 Linux 上一样,很多 Linux 命令都可以操作,比如 cd、ls、ll、vim 等等。

clone 克隆服务器项目到本地

1、git clone url:克隆 github、gitee 等服务器上的公开项目到本地,Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。默认配置下远程 Git 仓库中的每一个文件的每个版本都将被拉取下来。

Think@wangMaoXiong MINGW64 /e/temp/gitee
$ git clone https://gitee.com/wangmx1993/jpa-transactional.git
Cloning into 'jpa-transactional'...
remote: Enumerating objects: 176, done.
remote: Counting objects: 100% (176/176), done.
remote: Compressing objects: 100% (135/135), done.
Receiving objects:remote: Total 176 (delta 53), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (176/176), 32.74 KiB | 250.00 KiB/s, done.
Resolving deltas: 100% (53/53), done.

init 初始化仓库并推送到服务器

1、有两种方法用于创建本地仓库:

        第一种是在现有项目下进行初始化,然后跟踪管理,使用 git init 命令。
        第二种是从服务器克隆一个现有的 Git 仓库,使用 git clone 命令。

2、对于本地已经存在的项目或者其它文件资源,如果需要使用 git 进行项目管理,则可以使用 git init 初始化命令新建本地仓库。如下所示,在需要被管理的项目中鼠标右击,选择“Git Bash Here”,然后执行 git init 命令,执行完成后,项目下就有了一个 .git 目录。

1)git init 命令执行后会在当前目录下创建一个名为 .git 的子目录,这个子目录含有初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

2)使用 git status 命令查看状态,可以发现红色表示未被 git 跟踪。

3、git init 仅仅是做了一个初始化的操作,项目里原有的文件还没有被跟踪,如果是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,则应该开始跟踪这些文件并提交到本地仓库,可通过 git add 命令来实现对指定文件的跟踪,然后执行 git commit 提交。

1)使用 git add 命令将它添加进暂存区,也就表示被 git 开始跟踪了,-A 参数表示仓库中所有修改的文件都会被添加。

2)使用 git commit 命令将项目从暂存区添加进本地仓库,-m 参数填写提交的描述信息。

3)提前准备好 .gitignore 忽略文件

4、推送到远程仓库,对于本地已经存在的项目,如果现在想要推送到 gitHub、gitee 等托管服务器进行管理,则第一步是在 gitHub、Gitee 上创建一个仓库(建议不带 README.md 文件)。然后进入主页后可以看到如下提示(在本地命令行按着如下提示命令即可进行远程推送了):

...or push an existing repository from the command line(从命令行向推送到已存在的远程仓库)

git remote add origin https://xxx   (在本地先添加远程仓库)

git push -u origin master   (向远程仓库推送)

1)如上所示推送成功,因为远程仓库是自己的,本地做其它的推送时已经输入过远程仓库的账号与密码,所以这里已经不用输入远程仓库 gitHub 的账号密码了

2)其中 git remote -v 用于查看远程版本库。

 5、为了推送方便,创建远程仓库时,没有创建初始化文件 README.md,现在推送成功后,可以再次创建即可,创建完成后,本地可以使用 git pull 命令拉去远程仓库同时进行合并。

status 查看项目目录状态

1、git status-查看文件状态:会输出工作目录的状态,知道所有编辑过的文件。意味着它显示了远程库中和本地工作目录中之间的文件差异。

2、git status -s:使输出信息更加简洁 short。

Think@wangMaoXiong MINGW64 /d/project/IDEA_project/java-se (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        logs/
nothing added to commit but untracked files present (use "git add" to track)

$ git status -s
?? logs/

diff 查看变更内容

1、git status 可以查看文件是否被追踪,是否被提交,但是对于修改的文件,如果想要查看修改了哪些内容呢?可以使用 git diff 将通过文件补丁的格式显示具体哪些行发生了改变。

2、git diff 命令比较的是工作目录中当前文件和暂存区域快照之间的差异, 也就是修改之后还没有暂存起来的变化内容。反过来就是如果文件已经 commit 提交过了,则 git diff 无法比较出差异了。

3、假如现在修改 123.txt 文件的内容,还未 add,此时 git status 与 git diff 的效果如下:

add 添加文件到暂存区

1、"git add " 指令主要实现将工作区修改的内容提交到暂存区,交由git管理。

2、接着再使用"git status"查看项目目录的状态

3、然后将新文件添加到暂存区(staging)。暂存区可以看作是这样的一个环境:做过的所有更改在提交时都将捆绑为一个更改而被提交。

-A 选项意味着所有更改过的文件都会被加到暂存区等待提交,这是常用方式。

重置暂存文件

commit 项目提交

1、git commit 命令会将存储在暂存区中的文件和来自用户的用于描述更改的日志信息一起提交到本地仓库.

2、-m 选项可以添加此次提交的描述信息。

 3、尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候这么做略显繁琐。 Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。

 $ git commit -a -m '直接提交'

rm 删除文件

1、git rm <file>:删除暂存或者提交的文件,注意新建且没有暂存纳入跟踪的文件无法删除,此时直接使用 Linux 的 rm 命令删除即可。

2、git rm <file>:可以直接删除提交了的文件。

3、git rm -f <file>:对于暂存且未提交的文件,需要加上 -f 强制删除,否则也无法直接删除

.gitignore 忽略文件

1、一般总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。

2、在这种情况下,可以在项目根目录下创建一个名为 .gitignore 的文件,列出要忽略的文件模式。 如下所示为 spring boot 新建项目后,自动生成的一个 .gitignore 文件,里面列举了需要忽略的文件模式。

3、文件 .gitignore 的格式规范如下:

所有空行或者以  开头的行都会被 Git 忽略。

可以使用标准的 glob 模式匹配。

匹配模式可以以(/)开头防止递归。

匹配模式可以以(/)结尾指定目录。

要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

4、所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。

1)星号(*)匹配零个或多个任意字符;

2)[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);

3)问号(?)只匹配一个任意字符;

4)如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。

5)使用两个星号(*) 表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z , a/b/z 或 a/b/c/z 等。

5、GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表,可以在 https://github.com/github/gitignore 找到并使用它.

6、要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。对于已跟踪的文件,再将其添加到 .gitignore 中,是不会生效的,该提交还会提交,该更新还会更新,该删除还会删除。即只有在未跟踪时才会忽略文件。

Git  常用命令速查表

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚩尤后裔-汪茂雄

芝兰生于深林,不以无人而不芳。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值