git常用命令大全

网友投稿 795 2022-10-05

git常用命令大全

git常用命令大全

介绍

这个图有疑问的地方,git fetch 并不是从remote到repository

git有4种工作区域,理解者4个工作区域对于理解git的各种命令太重要了。

Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库

工作区

程序员进行开发改动的地方,是你当前看到的,也是最新的。

平常我们开发就是拷贝远程仓库中的一个分支,基于该分支进行开发。在开发过程中就是对工作区的操作。

暂存区

.git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp…),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的。

当你完成某个需求或功能后需要提交到远程仓库,那么第一步就是通过git add先提交到暂存区,被git管理。

本地仓库

保存了对象被提交 过的各个版本,比起工作区和暂存区的内容,它要更旧一些。

git commit后同步index的目录树到本地仓库,方便从下一步通过git push同步本地仓库与远程仓库的同步。

远程仓库

远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的。

小结

任何对象都是在工作区中诞生和被修改;任何修改都是从进入index区才开始被版本控制;只有把修改提交到本地仓库,该修改才能在仓库中留下痕迹;与协作者分享本地的修改,可以把它们push到远程仓库来共享。

创建版本库

命令

解释

git clone url

克隆远程版本库

git init

初始化本地版本库

add

add主要将工作区的内容提交到暂存区

命令

解释

git add .

将工作区的所有改动提交到暂存区

git add <dir-name>

将指定目录的修改提交到暂存区,包括子目录

git add <file-name>

将指定文件的修改提交到暂存区

commit

修改和提交

查看状态git status 查看变更内容git diff

查看提交历史

git log 查看提交历史 git log -p 查看指定文件的提交历史

撤销

git reset --hard HEAD

创建

命令

介绍

git branch <branch-name>

在本地新建一个分支

git checkout <branch-name>

切换到你的新分支

git checkout -b <branch-name>

创建并切换到新分支

git push origin <branch-name>

将新分支发布在github上

删除

命令

介绍

git branch -d <branch-name>

在本地删除一个分支

git push origin :<branch-name>

(分支名前的冒号代表删除) 在github远程端删除一个分支:

远程

命令

介绍

git remote -v

查看远程仓库

git remote update origin --prune

刷新远程仓库分支

git remote update origin -p

git remote rm origin

删除远程仓库(解除与远程仓库的关联)

git remote add origin

添加远程仓库

合并

合并分支 git merge 分支名 如果当前分支为master,将bugfix的分支合并到masterWie git merge bugfix

<<<<<<< HEAD这个是目前版本的内容=======这个是dev分支的内容>>>>>>> dev

如下为在dev分支上增加了内容

<<<<<<< HEAD=======这个是dev分支的内容>>>>>>> dev

分支

命令

解释

git branch

查看本地分支

git branch -r

查看远程分支

git branch -a

查看所有分支

放弃修改

放弃本地所有修改 git checkout .

回退

git reset --hard a0fvf8

标签

命令

解释

git tag

列出所有tag

git tag tagName

新建一个tag在当前commit

git tag -d tagName

删除本地tag

git show tagName

查看tag信息

git checkout tagName

切换tag

git push origin tagName

推送tag到远程分支

其他

当我们和别人协同合作,别人提交代码后,我们一般使用如下命令 将远程master分支与workspace的当前分支合并

git pull origin master

等同于如下操作

# 取回远程代码的更新git fetch origin# 将取回的更新和workspace的代码合并git merge origin/master

所以git pull = git fetch + git merge

fetch用法如下,默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名

git fetch <远程主机名> <分支名>

参考博客

git merge 命令 [6] [8]http://ruanyifeng.com/blog/2014/06/git_remote.html

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MongoDB 数据模型
下一篇:小程序之实现主页的tab选项功能的方法(完成微信小程序和页面跳转(通过页面底部的tab标签))
相关文章

 发表评论

暂时没有评论,来抢沙发吧~