欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Git

程序员文章站 2024-03-09 12:00:59
...

workspace,index,Repository,Remote

Git

  • 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追踪

相关标签: 2020