git --verson 查看git版本
git --help 调出git的帮助文档
git +命令 --help 查看某个具体命令的帮助文档
git init 初始化一个仓库
git add 讲文件添加到暂存区
git commit -m "文件名字" 将暂存区里的文件提交到本地仓库
git remote 用于管理远程仓库
远程仓库地址 git remote add origin https://github.com/sglyz/mybatis_demo.git
git push -u origin master 将变更推送到远程仓库
git push -u origin master 往名字为origin的仓库的master分支上提交变更
git fetch 拉取远程仓库的变更到本地仓库
git merge origin/master 将远程的变更,合并到本地仓库的master分支
git pull --相当于(先执行 git fetch 然后执行 git merge origin/master,我们最好先对比后再合并以防出错)
------------------------------------
git status 获取文件的状态
Untracked 新建状态
(执行git add 文件名字命令行回到 staged状态)
staged
(执行 git commit -m 命令后 会到 Unmodified状态)
执行 git rm --cache 文件名字 命令后 文件又会回到 Untracked 新建状态
git rm 如果不加--cache 会删除 工作区里的文件,并且提交到暂存区
git checkout 直接加文件名字 是从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会直接覆盖。
加了【分支名】+文件名字 则表示从分支名为所写的分支名中拉取文件,并覆盖工作区的文件。(一定要注意 git checkout master 加文件名字)
总结一下
新建文件---Untracked 状态
使用add命令将新建的文件加入到暂存区----》statged状态
使用commit 命令 将暂存区的文件提交到本地仓库----》Unmodified
如果对Unmodified状态的文件进行修改---》modified
如果对Unmodified状态的文件进行remove 操作---》Untracked
----------------------------------
1.什么是分支?
软件项目中启动一套单独的开发线的方法
2.为什么使用git
1.可以很好的避免版本兼容发开的问题,避免不同版本的相互兼容
2.封装一个开发阶段
3.解决bug的时候新建分支,用于对该bug的研究
3.git中跟分支相关的命令
git branch 加 分支名 可以添加分支
git branch -d 分支名 删除指定分支 不能删除当前在的分支
git branch 不加任何参数,列出所有的分支,分支前面有*号
git branch -m 旧的分支名 新的分支名 给分支重新命名
git checkout 分支名字 切换分支
如果在分支上面对文件进行修改之后,没有commit 就切换到另外一个分支b,这个时候会报错,因为没有commit 的文件在切换分支之后会不覆盖,所以git 包裹提示。
git checkout -f 分支名 强制切换到到分支,如果当前有未提交的变更,会直接丢弃,要小心使用强制切换。
---------------------------------------------
git log 命令信息的具体含义
按 字母键 q 退出git log 继续输入命令
commit fb16b6574a10725bb234cd18cbf6c937fb8381a1 --SHA-1校验 commit id
Author: Administrator <sglgyz@163.com> 作者跟邮箱概要信息
Date: Mon Aug 10 14:53:34 2020 +0800 提交的时间
git log -数字 标识查看最近几次的提交
git log -p -2 显示最近两次提交的不同点
git log --author 查看具体某个作者的提交
git log --graph 以一个简单的线串联起来整个提交历史
-------------------------------------------
diff -->difference 的缩写,用于比较差异
使用场景:
1.解决冲突
2.制定补丁
git diff 不加任何参数 用于比较当前工作区跟暂存区的差异
git diff --cached 或者 --staged 用于比较当前工作区跟暂存区的差异
git diff 分支名 查看当前分支跟指定的分支的差异
git diff 分支名1 分支名2 查看两个指定分支的(已提交的)差异
git diff commitid1 commitid2 用于列出两个历史提交的差异
diff --git a/file1 b/file1 两个版本
index 82fc5d8..b0b5502 100644
--- a/file1 标识变更前的文件
+++ b/file1 标识当前的文件
@@ -1,3 +1,5 @@ 在源文件第一行开始的三行, 和目标文件第一行开始的五行不同。
abc
aaaaaa
aabcccc
+1111111111
+aa1
git log --oneline 查看提交历史 以精简模式显示
git reset HEAD 加文件名字 将缓存区的文件移除掉
git reset HEAD^ 去掉上一次的提交
git reset --soft HEAD^ 修改上一次提交的信息 commit -m"修改的内容" 暂存区还是有的
git merge 文件名 是将当前分支与指定分支进行合并
git diff --name-only --diff-filter=U 用于查看产生冲突的文件
git tag 不加任何参数 表示显示标签(按字母序) 非按时间
git tag 标签名 默认是给最近一次提交打上标签
git tag 标签名 commitId 给响应的提交打上标签
git show 标签名 显示该标签相关的那次提价的相关信息
git tag -d 标签名 删除该标签
git push 远程分支名 标签名 把某个标签(必须是本地已存在的,否则推动失败) 推送到远程分支
删除远程标签的步骤
删除本地标签 git tag -d 标签名
在删除远程的 git push origin :refs/tags/标签名
git push 将本地更改推送到远程
git rm -rf --cached 文件夹名 将文件夹里的文件递归从暂缓区中移除
git rm --cached 文件名 将单个文件从暂缓区中移除
git --verson 查看git版本
git --help 调出git的帮助文档
git +命令 --help 查看某个具体命令的帮助文档
git init 初始化一个仓库
git add 讲文件添加到暂存区
git commit -m "文件名字" 将暂存区里的文件提交到本地仓库
git remote 用于管理远程仓库
远程仓库地址 git remote add origin https://github.com/sglyz/mybatis_demo.git
git push -u origin master 将变更推送到远程仓库
git push -u origin master 往名字为origin的仓库的master分支上提交变更
git fetch 拉取远程仓库的变更到本地仓库
git merge origin/master 将远程的变更,合并到本地仓库的master分支
git pull --相当于(先执行 git fetch 然后执行 git merge origin/master,我们最好先对比后再合并以防出错)
------------------------------------
git status 获取文件的状态
Untracked 新建状态
(执行git add 文件名字命令行回到 staged状态)
staged
(执行 git commit -m 命令后 会到 Unmodified状态)
执行 git rm --cache 文件名字 命令后 文件又会回到 Untracked 新建状态
git rm 如果不加--cache 会删除 工作区里的文件,并且提交到暂存区
git checkout 直接加文件名字 是从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会直接覆盖。
加了【分支名】+文件名字 则表示从分支名为所写的分支名中拉取文件,并覆盖工作区的文件。(一定要注意 git checkout master 加文件名字)
总结一下
新建文件---Untracked 状态
使用add命令将新建的文件加入到暂存区----》statged状态
使用commit 命令 将暂存区的文件提交到本地仓库----》Unmodified
如果对Unmodified状态的文件进行修改---》modified
如果对Unmodified状态的文件进行remove 操作---》Untracked
----------------------------------
1.什么是分支?
软件项目中启动一套单独的开发线的方法
2.为什么使用git
1.可以很好的避免版本兼容发开的问题,避免不同版本的相互兼容
2.封装一个开发阶段
3.解决bug的时候新建分支,用于对该bug的研究
3.git中跟分支相关的命令
git branch 加 分支名 可以添加分支
git branch -d 分支名 删除指定分支 不能删除当前在的分支
git branch 不加任何参数,列出所有的分支,分支前面有*号
git branch -m 旧的分支名 新的分支名 给分支重新命名
git checkout 分支名字 切换分支
如果在分支上面对文件进行修改之后,没有commit 就切换到另外一个分支b,这个时候会报错,因为没有commit 的文件在切换分支之后会不覆盖,所以git 包裹提示。
git checkout -f 分支名 强制切换到到分支,如果当前有未提交的变更,会直接丢弃,要小心使用强制切换。
---------------------------------------------
git log 命令信息的具体含义
按 字母键 q 退出git log 继续输入命令
commit fb16b6574a10725bb234cd18cbf6c937fb8381a1 --SHA-1校验 commit id
Author: Administrator <sglgyz@163.com> 作者跟邮箱概要信息
Date: Mon Aug 10 14:53:34 2020 +0800 提交的时间
git log -数字 标识查看最近几次的提交
git log -p -2 显示最近两次提交的不同点
git log --author 查看具体某个作者的提交
git log --graph 以一个简单的线串联起来整个提交历史
-------------------------------------------
diff -->difference 的缩写,用于比较差异
使用场景:
1.解决冲突
2.制定补丁
git diff 不加任何参数 用于比较当前工作区跟暂存区的差异
git diff --cached 或者 --staged 用于比较当前工作区跟暂存区的差异
git diff 分支名 查看当前分支跟指定的分支的差异
git diff 分支名1 分支名2 查看两个指定分支的(已提交的)差异
git diff commitid1 commitid2 用于列出两个历史提交的差异
diff --git a/file1 b/file1 两个版本
index 82fc5d8..b0b5502 100644
--- a/file1 标识变更前的文件
+++ b/file1 标识当前的文件
@@ -1,3 +1,5 @@ 在源文件第一行开始的三行, 和目标文件第一行开始的五行不同。
abc
aaaaaa
aabcccc
+1111111111
+aa1
git log --oneline 查看提交历史 以精简模式显示
git reset HEAD 加文件名字 将缓存区的文件移除掉
git reset HEAD^ 去掉上一次的提交
git reset --soft HEAD^ 修改上一次提交的信息 commit -m"修改的内容" 暂存区还是有的
git merge 文件名 是将当前分支与指定分支进行合并
git diff --name-only --diff-filter=U 用于查看产生冲突的文件
git tag 不加任何参数 表示显示标签(按字母序) 非按时间
git tag 标签名 默认是给最近一次提交打上标签
git tag 标签名 commitId 给响应的提交打上标签
git show 标签名 显示该标签相关的那次提价的相关信息
git tag -d 标签名 删除该标签
git push 远程分支名 标签名 把某个标签(必须是本地已存在的,否则推动失败) 推送到远程分支
删除远程标签的步骤
删除本地标签 git tag -d 标签名
在删除远程的 git push origin :refs/tags/标签名
git push 将本地更改推送到远程
git rm -rf --cached 文件夹名 将文件夹里的文件递归从暂缓区中移除
git rm --cached 文件名 将单个文件从暂缓区中移除
gitignore 文件配置
为什么要使用.gitignore 文件
大量与项目无关的文件全推到远程仓库上,同步的时候会非常慢,且跟编辑器相关的一些配置推上去之后,别
人更新也会受其影响。所以,我们使用该文件,对不必要的文件进行忽略,使其不被git追踪
一把情况下,.gitignore文件,在项目一开始创建的时候就创建,并推送到远程服务器上。这样大家初次同步
项目的时候,就是用到该文件,避免以后,团队成员把与项目无关的文件,传到远程服务器上
.log 表示忽略项目中所有以.log结尾的文件 123?.log 表示忽略项目中所有以123加任意字符的文件 /error.log
表示忽略项目中根目录中的error.log 这个文件 src/main/test/ 表示忽略/src/main/test/目录下的所有文件
*.class **/java/ 匹配所有java目录下的所有文件 !/error.log 表示在之前的匹配规则下,被命中的文件,可以使
用!对前面的规则进行否定
对于已经提交到远程或本地仓库的文件,.gitignore配置之后不会生效。我们必须先删除本地暂存区里的文
件,之后在加上.gitignore 文件,最后再把变更提交到远程仓库上。
git rm --cached 文件名 从暂存区删除某个文件
git rm -rf --cached 文件夹 表示递归删除暂存区该文件夹的所有东西