git init、git add、git commit、git log、git reset、git rm等Git命令详解

一)Git图解
Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

 

workspace:工作区

staging area:暂存区/缓存区

local repository:本地仓库

remote repository:远程仓库

 

例如到D盘根目录下(随意一个目录都行),用鼠标右键,查看Git菜单

 

Git GUI是一个界面化操作。

Git Bash是通过git命令操作,推荐使用命令操作方式。

打开Git Bash之后,执行git help命令,可查看git基本操作命令简介:

 

在开发中只要你开发新功能了,一般都将其放到新的分支上去开发,开发完成后再将这个分支合并到主分支上去

本地创建分支,  git  checkout -b 分支名

本地切换分支,  git checkout  分支名

拉取远程分支,  git checkout -b 本地分支名 origin/远程分支名

指git checkout -b daily/0.01 origin/daily/0.01   意思是将远程的daily/0.01分支拉到本地,并且与远程这个分支关联起来

查看分支             git  branch

查看本地及远程分支   git branch -a  意思是显示master分支,并且显示远程分支。

删除本地分支      git branch -d  分支名

删除远程分支      git push origin -d 分支名

合并分支到主分支  git merge 分支名(英文)

二)git init


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

例如:在一个盘符下新创建一个mygit目录,然后使用命令初始化

 

现在/d/mygit就是Git仓库了,所以有关项目的内容都存放在这里。

.git目录默认是隐藏的,所以需要用ls -a命令来查看。

 

三)git add
git add 命令可将该文件添加到暂存区。

方式一:添加一个或多个文件到暂存区,使用 git add [file1] [file2] ... 命令

方式二:添加指定目录到暂存区,包括子目录,使用 git add [dir] 命令

方式三:添加当前目录下的所有文件到暂存区,使用 git add . 命令

 

案例:使用touch命令新增两个文件,并用git status 命令用于查看项目的当前状态。

 

再使用git add [file1] [file2] ... 命令添加文件,并查看项目状态

 

修改readme.txt文件,在里面添加一些内容,然后保存,在用 git status 查看状况,并 git add .

 

AM状态的意思是这个文件在我们将它添加到缓存之后又有改动。

文件修改后,我们一般都需要进行 git add 操作,从而保存历史版本,防止文件内容丢失。

 

四)git commit
git commit 命令将暂存区内容添加到本地仓库中。

方式一:提交暂存区到本地仓库中、使用 git commit -m [message] 命令,[message] 可以是一些备注信息,推荐必填。

方式二:提交暂存区的指定文件到仓库区、使用 git commit [file1] [file2] ... -m [message] 命令。

方式三:-a 参数设置修改文件后不需要执行 git add 命令,直接来提交,使用 git commit -a 命令。

 

案例:把上面添加的readme.txt和hello.java文件提交,并用git status查看状态

 

以上输出说明我们在最近一次提交之后,没有做任何改动,是一个 "working tree clean",翻译过来就是干净的工作目录。

 

再手动修改一下readme.txt文件,然后使用git commit -a命令方式操作,-a 选项是直接跳过了git add添加。

命令:git commit -am [message]

 

 

五)git log、git blame
git log - 查看历史提交记录。

git blame <file> - 以列表形式查看指定文件的历史修改记录。

方式一:使用 git log 查看git历史提交记录。

 

 

方式二:使用 git log --oneline 选项来查看历史记录的简洁版本。

 

 

方式三:使用 git log --graph 选项,查看历史中什么时候出现了分支、合并。

 

 

方式四:使用 git log --reverse 参数来逆向显示所有历史提交日志。

 

 

方式五:使用 git log --author 命令查找指定用户历史提交记录

命令:git log --author=用户 --oneline -显示行数

 

 

方式六:使用 git blame <file> 命令方式查看指定文件修改记录

 

文件中的B2、C3、E2、等等是中文乱码问题导致的。

 

六)git reset
git reset 命令用于回退版本,可以指定退回某一次提交的版本。

语法格式如下:

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

--soft 参数用于回退到某个版本。

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

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

 

方式一:回退所有内容到上一个版本、使用 git reset HEAD^ 命令。

方式二:回退指定文件的版本到上一个版本、使用 git reset HEAD^ 文件名称 命令。

方式三:回退到指定版本,每次版本提交都会分配一个十六进制编码作为版本号、使用 git reset 十六进制编码 命令。

 

HEAD说明:

表示一:HEAD表示当前版本、HEAD^ 上一个版本、HEAD^^ 上上一个版本、HEAD^^^ 上上上一个版本、以此类推...。

表示二:使用数字方式,HEAD~0 表示当前版本、HEAD~1 上一个版本、HEAD^2 上上一个版本、以此类推...。

 

七)git rm
git rm 命令用于删除文件。

方式一:将文件从暂存区和工作区中删除、使用 git rm <file> 命令。

方式二:如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f,如:git rm -f 文件名。

方式三:如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可,如:git rm --cached <file>。

方式四:删除该目录下的所有文件和子目录,使用 git rm –r * 命令。

 

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

方式一:使用 git mv [file] [newfile] 命令

方式二:如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数强制命名,如:git mv -f [file] [newfile]。
————————————————
版权声明:本文为CSDN博主「ouyangjun__」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/p812438109/article/details/110365598

posted @ 2021-05-26 14:38  浣熊sky  阅读(267)  评论(0编辑  收藏  举报