0


Git学习笔记-2.Git基本命令(本地)

1.创建仓库类命令

git init

初始化仓库

git init

命令用于在目录中创建新的 Git 仓库。

在项目目录中执行

git init

就可以创建一个 Git 仓库了。

如果要指定创建到某个新文件夹下,可以执行:

git init folder_name

然后就会在当前路径下创建一个名为"folder_name"的项目文件夹,内含已经初始化完毕的Git仓库。

git clone

克隆仓库

git clone

拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。拷贝项目命令格式如下:

git clone [url]
[url]

为待克隆项目的地址,一般为网址,例如:

git clone https://github.com/Heartfirey/ACM_Algorithm_Library

克隆完毕后,在当前目录下会生成一个目录用于存放克隆的项目。

如果要指定克隆的位置,也可以在命令后面附加:

git clone [url][location]

比如,克隆项目到当前目录下,而不是创建新文件夹:

git clone https://github.com/Heartfirey/ACM_Algorithm_Library ./

2.提交与修改命令

git add

添加文件到暂存区

git add

命令可将该文件添加到暂存区。

添加一个或多个文件到暂存区:

gitadd[file1][file2]...

添加指定目录到暂存区,包括子目录:

gitadd[dir]

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

gitadd.

git status

查看仓库当前的状态,显示文件变更

git status

命令用于查看在上次提交之后是否有对文件进行再次修改

git status

为了获取更为简短的输出,一般附加参数

-s
git status -s

git diff

比较暂存区和工作区对应文件不同

git diff

命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。

git diff

有两个主要的应用场景。

  • 尚未缓存的改动:git diff
  • 查看已缓存的改动: git diff --cached
  • 查看已缓存的与未缓存的所有改动:git diff HEAD
  • 显示摘要而非整个 diff:git diff --stat

显示暂存区和工作区的差异:

gitdiff[file]

显示暂存区和上一次提交(commit)的差异:

gitdiff--cached[file]gitdiff--staged[file]

显示两次提交之间的差异:

gitdiff[first-branch]...[second-branch]

git commit

提交暂存区到本地仓库

git commit

用于将暂存区的内容提交到本地代码仓库中。

git commit -m[message]

[message]主要写本次提交的改动等备注信息。

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

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

也可以使用

-a

参数跳过缓存区,直接将工作区代码提交到代码仓库(不建议)。

git commit -a

git reset

回退版本

git reset

用于回退版本,可以指定退回某一次提交的版本,也可以用于取消已缓存的内容。

git reset [--soft |--mixed| --hard][HEAD]
--mixed

为默认参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。

--soft

参数用于回退到某个版本

--hard

撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

慎用

--hard

参数!

[HEAD]参数说明:

  • HEAD 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本
  • 以此类推…

可以使用 ~数字表示

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD^2 上上一个版本
  • HEAD^3 上上上一个版本
  • 以此类推…

示例:

git reset --hard HEAD~3  # 回退上上上一个版本  git reset –hard bae128   # 回退到某个版本回退点之前的所有信息。 git reset --hard origin/master    # 将本地的状态回退到和远程的一样 
git reset HEAD

命令用于取消已暂存的内容:

git reset HEAD [file1][file2]...

将会将指定文件从暂存区移除。

git rm

将文件从暂存区和工作区中删除

git rm 命令用于删除文件。

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

git rm 删除文件有以下几种形式:

1、将文件从暂存区和工作区中删除:

gitrm<file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项

-f

gitrm-f<file>

如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用

--cached

选项即可:

git rm --cached <file>

git mv

移动或重命名工作区文件

git mv

命令用于移动或重命名一个文件、目录或软连接。

git mv [file] [newfile]

如果新文件名已经存在,但还是要重命名它,可以使用

-f

参数:

git mv -f [file] [newfile]

3.日志相关操作

git log

查看提交历史记录

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

常用参数选项:

  • --online该命令可以查看当前项目的历史提交记录,如果需要查看简洁版的历史记录,可以加入--oneline参数:git log --oneline此时会将所有提交的历史记录以简洁模式进行展示。
  • --graph如果希望查看项目的分支创建、合并情况,可以附加--graph参数:git log --graph此时能够在控制台中显示项目历史记录的拓扑图,能够清晰的看到工作的分支和合并记录关系。
  • --reverse如果希望逆向来显示日志,可以附加--reverse参数:git log --reverse
  • --author如果希望仅查找指定用户/作者的提交日志,可以附加参数--authorgit log --author xxx该命令会显示显示与xxx有关的提交日志
  • --since--before如果要指定日期,可以执行几个选项:--since--before,也可以用 --until--after``````git log --oneline--before={3.weeks.ago}--after={2010-04-18}
  • --no-merges可以用于隐藏合并提交:git log --no-merges
  • --follow仅展示指定的单个文件的历史提交记录git log --follow ./xxx.xxx

更多的命令参数选项,可以参考:Git - git-log Documentation (git-scm.com)

git blame <file>

以列表形式查看指定文件的历史修改记录

如果需要查询指定文件的修改记录,并以列表形式进行查看,可以使用

git blame

命令:

git blame xxx
标签: git 学习 github

本文转载自: https://blog.csdn.net/yanweiqi1754989931/article/details/128378783
版权归原作者 HeartFireY 所有, 如有侵权,请联系我们删除。

“Git学习笔记-2.Git基本命令(本地)”的评论:

还没有评论