Git
程序员文章站
2024-03-09 12:00:59
...
文章目录
workspace,index,Repository,Remote
- workspace:工作区
- index: 暂存区
- Repository: 仓库区(本地仓库)
- Remote: 远程仓库
配置用户邮箱及用户名
git config --global user.email aaa@qq.com
git config --global user.name newheart
Git 入门级命令
初始化本地仓库
git init
添加到暂存区
git add
提交到本地仓库
git commit
添加远程仓库地址
git remote add origin https://gitee.com/hanmtou/gitdemo.git
往名字为origin的仓库的master分支上提交变更
git push -u origin master
拉取远程仓库的变更到本地仓库
git fetch
将远程的变更,合并到本地仓库的master分支
git merge origin/master
git pull
不建议使用 等同于fetch之后merge
GIT的文件状态
查看git的状态
git status
git文件的删除操作
git rm :删除工作区里的文件 并提交到暂存区
git rm --cache 仅删除暂存区里的文件
从暂存区将文件恢复到工作区
git checkout
git的分支
列出所有分支
git branch
不加参数:列出所有分支;*号所在的分支,为当前分支
git checkout 分支名 : 切换分支;如果没有commit就切换到另外一个分支, 会报错
git checkout -f 分支名 强制切换到分支,如果当前有为提交的变更,会直接丢弃(不推荐使用)
log命令
用于查看git的提交历史
git log -数字 表示查看最近几次的提交
git log -p -2 显示最近两次提交的不同点
git log --author 查看具体某个作者的提交
git log --online 输出简要的信息
git log --graph 以一个简单的线串联起整个提交历史
git log 输出信息的定制
文件对比git diff
diff -->difference的缩写,用于比较差异
使用场景
解决冲突 制作补丁
git diff 不加任何参数 用于比较当前工作区跟暂存区的差异
git diff --cached 或者--staged
git diff HEAD
git diff 分支名 查看当前分支跟指定的分支的差异
git diff 分支名1 分支名2 查看两个指定分支(已提交的)的差异,分支2 跟分支1的差别
git diff 文件名 查看指定文件的差异
git diff commitid1 commitid2 用于列出两个历史提交的差异
git diff --stat 用于罗列有变更的文件
git更改状态
将不必要的文件add
上次提交觉得是错的
不想改变暂存区内容,只是想调整提交的信息
版本回滚
git reset HEAD 文件名 移除不必要的添加到暂存区的文件
git reset HEAD^ 或者 commitid 去掉上一次的提交
git reset --soft HEAD^ 修改上次提交的信息吧即commit -m "修改这里的内容"
git reset --soft 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变
git reset --mixed (默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变
git reset --hard 将HEAD指向指定的提交,暂存区跟工作区都会改变
分支合并及冲突解决
git merge 分支名
表示:拿指定的分支名与当前分支进行合并
git diff --name-only --diff-filter=U 用于查看产生冲突的文件
git的标签
git tag 不加任何参数 表示显示标签(按字母序) 非按时间
git tag 标签名 默认是给最近一次提交打上标签
git tag 标签名 commitId 给响应的提交打上标签
git show 标签名 显示该标签相关的那次提价的相关信息
git tag -d 标签名 删除该标签
git push 远程分支名 标签名 把某个标签(必须是本地已存在的,否则推动失败) 推送到远程分支
删除远程标签的步骤
删除本地标签 git tag -d 标签名
在删除远程的 git push origin :refs/tags/标签名
.gitignore
创建.gitignore 可以对不必要的文件进行忽略,使其不被git追踪
下一篇: spring MVC搭建及配置详解