基本Linux命令
因为 Git 使用需要借助 Linux 命令,所以先对基本的Linux进行一个简单的总结(平时一定要多使用这些基础的命令):
1、cd:改变目录
2、cd..:回退到上一个目录,直接cd进入默认目录
3、pwd:显示当前所在的目录路径
4、ls(||):都是列出当前目录的所有文件,不过两个 || 列出的内容更为详细
5、touch:新建一个文件,如touch index.js就会在当前目录新建一个index.js文件
6、rm:删除一个文件,rm index.js就会把index.js文件删掉
7、mkdir:新建一个目录,就是新建一个文件
8、rm -r:删除一个文件夹,rm -r src 删除src目录
注意:rm -rf / 删除电脑中全部文件,切勿在Linux中尝试!否则:跑路的话我看刑
9、mv:移动文件,mv 目标文件 目标文件夹,这样写要保证文件目录在同一文件夹
10、reset:重新初始化终端/清屏
11、clear:清屏
12、history:查看命令历史
13、help:帮助
14、exit:退出
15、#:表示注释
16、vim:功能强大的文本编辑器,有3种模式:命令模式,编辑模式,底线命令模式。
Git常用命令
命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户密码
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭
设置用户签名密码
这里注意一下:Git 首次安装必须设置一下用户签名,否则无法提交代码。签名的作用是区分不同操作者的身份,用户的签名信息在每一个版本的提交信息中能够看到,来以次确认本次提交是谁做的。(签名邮箱信息可以随便填,git并不会识别它是否存在,当然在公司开发过程中可以实名邮箱签名)注意:这里设置用户签名和将来登录 GitHub(或其代码托管中心)的账号没有任何关系。
这里补充一下其他知识点:
文本编辑器:设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
$ git config --global core.editor emacs
差异分析工具:在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话可以执行:
$ git config --global merge.tool vimdiff
Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。当然,你也可以指定使用自己开发的工具。
查看配置信息:要检查已有的配置信息,可以使用 git config --list 命令:(有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。)
$ git config --list http.postbuffer=2Muser.name=runoob user.email=test@runoob.com
初始化本地库
在日常开发过程中当我们要进行初始化本地库时,可以事先进入要初始化的文件目录,右键点击 Git Bash 进入,输入 git init 即可进行初始化本地库。生成的.git 文件建议不要人为修改,否则可能会无法运行。
如果当前页面没有出现.git文件,可能你电脑设置的默认文件是隐藏的,修正即可。
在linux中查看文件命令是 ll ,但是查看隐藏文件的命令是 ll -a。
查看本地库状态
On branch master:提示当前的本地库在 master 分支里面
No commits yet:目前没有提交过任何东西,说明是一个空的地址库
nothing to commit:没有任何东西需要提交
nothing to commit:
使用 vim 创建 say.txt 文件,回车进入文件编辑模式
按 i 进入 insert (插入/编辑)模式,按 Esc 退出 insert 模式;要进行粘贴复制需要先退出 Esc 模式,然后 yy 是复制,p是粘贴(将上一行的内容粘贴到下一行)。保存文件并退出需要先退出编辑模式然后输入:“:wq”三个英文字符,回车即可。
然后可以查看文件是否存在和文件内容。
接下来查看本地库状态,虽然文件存在,但仅存在工作区,提示要求我们将文件添加到暂存区
添加到暂存区
warning: LF will be replaced by CRLF in say.txt.
Git的换行符检查功能。LF是linux下的换行符,而CRLF是enter + 换行;Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。
将 hello.txt 和 say.txt 添加到暂存区,可以看到如下状态,图片也提示我们如何删掉暂存区中的文件,当我们删除暂存区的文件时,文件并没有实际删除,其还保留在我们的本地库中。
提交到本地库
将暂存区的文件提交到本地库,形成自己的历史版本。
现在再查看我们的本地库状态,可以显示我们的 say.txt 文件已经提交了。
查看历史记录
当然如果想在修改之前的 say.txt 文件,只需要在进行 vim 编辑,编辑之后在进行上传到暂存区并提交到本地库即可。
版本穿梭
Git切换版本,底层其实就是移动 HEAD 指针,其过程如下:
这里复制粘贴的快捷键分别是:Ctrl + Insert 和 Shift + Insert,复制要穿梭的版本号即可。
可以看一下目录文件,文件内容就是当前的版本号,说明指针指向的分支是 master 而 master 指向的是当前的版本。
总结
Git 的工作流程一般就是这样:
1、在工作目录中添加、修改文件; (userMapper.xml)
2、将需要进行版本管理的文件放入到暂存区域; (git add)
3、将暂存区域的文件提交到git仓库中 (git commit)
因此:git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
这里总结一下Git 工作区、暂存区和版本库概念:
工作区:就是你在电脑里能看到的目录。
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。