美文网首页
Git基本操作

Git基本操作

作者: YJ_1101 | 来源:发表于2019-08-20 15:14 被阅读0次

创建版本库

  • git init
  • 通过这个命令把当前目录变成Git可以管理的仓库(默认会生成一个.git文件,这个文件是Git用来跟踪管理版本库的)

创建完版本库之后便可以对该目录下的文件进行Git相关操作

克隆远程代码到本地

  • git clone 地址
  • 克隆具体某个分支的线上代码:git clone -b 分支名 地址

查看版本库当前状态信息

  • git status
  • 该命令用于查看版本库的当前状态,可以看出当前哪些文件是已经改动了的(修改,新增,删除)。同时还会提示哪些文件是需要添加到暂存区,哪些是已经添加到了暂存区现可以提交到仓库的。

git diff

  • git diff <文件名>查看文件在工作目录与暂存区的差别。如果还没 add 进暂存区,则查看文件自身修改前后的差别
  • git diff HEAD -- <文件名>可以查看工作区和版本库里面最新版本的区别。
  • git diff --cached已经暂存起来的文件和上次提交(commit)之间的差异
  • git diff commit-id 文件名比较工作区与指定的 commit -id 的差异

提交到暂存区

  • git add 文件名
  • git add .: 会把工作目录里的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件
  • git add -u: 仅监控已经被add过的文件(即tracked file),他会将被修改的文件提交到暂存区。 但是不会提交新文件
  • git add -A: 跟git add . 一样,但是会包括已删除的文件

把文件提交到本地仓库

  • git commit -m "注释"

更新远程代码

  • git pull origin <远程分支名>:<本地分支名>
  • 如果与当前分支合并,则可省略本地分支名:git pull origin <远程分支名>
  • 如果当前分支与远程分支存在追踪关系: git pull origin
  • 如果当前分支只有一个追踪关系: git pull

git pull和git fetch的区别

  • git fetch <远程主机名> 这个命令将某个远程主机的更新全部取回本地
  • $ git fetch <远程主机名> <分支名>取回特定分支的更新,可以指定分支名
  • 他跟pull的区别是 :git fetch是将远程主机的最新内容拉到本地仓库,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并。直观的来讲就是:git pull = git fetch + git merge。

更新时解决冲突

  1. git stash先将本地修改存储起来,这样本地的所有修改就都被暂时存储起来 。用git stash list可以看到保存的信息。其中stash@{0}就是刚才保存的标记。
  2. git pull暂存了本地修改之后,就可以pull了
  3. git stash pop stash@{0}还原暂存的内容,系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突
  4. 打开文件里面其中 <<<<HEAD 这里是本地的修改内容 ======== 这是远程修改的内容 >>>>>>>>> commit id (这里需要手动修改)

将本地仓库的代码推送到远程仓库

  • git push origin "本地要推送的分支名" : "远程分支名"
  • origin指远程代码库的地址,可以用git remote -v查看详情。
  • 或者git push origin "本地要推送的分支名"这个是把该分支上的所有本地推送到对应的远程分支上,(通常两者同名)如果该远程分支不存在,则会被新建
  • 如果当前分支只有一个追踪分支:git push

版本回退,撤销修改

当提交到暂存区时或者提交到本地仓库时,想要撤回并还原:

  • 当提交到版本库时(commit)想回到上一个版本:git reset --hard HEAD,HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^^,N的话就是HEAD~N
  • 当目前只是提交到暂存区(git add)时需要撤回:git reset HEAD “文件名”
  • 当对一个文件改动后,想撤回修改,使其与最近的一次提交的内容相同时:git checkout -- “文件名”
  • git reset --soft HEAD : 回退到git commit之前,此时处在暂存区。(即执行git add 命令后)

切换版本

  • 当我们想要切换某个提交的版本(commit)的时候,可以先用git log来查看版本的提交历史记录,(git log命令显示从最近到最远的提交日志)。
    从中可以看到本次commit时的记录时间及注释,还有版本编号。拿到版本编号即可回到对应的版本:git reset --hard "版本号"

分支操作

  • 查看所有分支:git branch
  • 创建并切换分支:git checkout -b '分支名'
  • 删除分支:git branch -d '分支名'
  • 合并分支:git merge '分支名'
  • 当我们从远端克隆一份代码时,只能看到当前的分支,如果想在另一个分支开发,需要创建远程的分支到本地:git checkout -b 分支名 origin/远程分支名

标签的操作

每个版本(commit)都有一个版本号,但是都是嘻哈值,不容易记录使用,这时可以用标签来标识某个版本

  • 创建标签:git tag -a '标签名' -m '标签描述'
  • 查看标签列表: git tag
  • 查看标签详情: git show '标签名'
  • 删除标签:git tag -d '标签名'

相关文章

  • Git命令梳理

    基本操作 git init git add . git stauts git commit -m '描述' git...

  • git基本操作 梳理

    git操作梳理一、git基本操作1.创建版本仓库 git init(.git目录)2.版本创建 git add ...

  • GitFlow

    假设你已经熟悉git的基本操作:如不熟悉请参考:GitBook 这里简单回顾一下git基本操作 提交基本操作 把...

  • git基本操作二:git的基本操作

    本文会带各种命令后的图,与大部分文章区分,只有理论,没有实践 初始化本地库 命令:git init 效果: ,gi...

  • Git Cocopods 基本操作

    Git 操作 基本操作 查看当前git状态git status 添加代码到暂缓区git add . 提交代码到本地...

  • git常用操作 🎀

    git常用操作 ? 基本知识 查看git信息 修改git配置 提交类操作 分支类操作 创建分支 查看分支 修改分支...

  • git基本操作

    重要概念 已提交(mommitted)该文件已经被安全地保存在本地数据库中了 已修改(modified)修改了某个...

  • Git基本操作

    前言 Git相关操作总结 2018-7-14, 联创团队分享 文中部分图片见文末参考链接 正文 一. 基本概念 版...

  • git基本操作

    0x001 git基本命令 0x002 远程仓库配置(coding.net) 使用命令ssh-keygen -t ...

  • Git基本操作

    创建新的git仓库 git init # 初始化 git add readme.md # 添加新文件 git co...

网友评论

      本文标题:Git基本操作

      本文链接:https://www.haomeiwen.com/subject/czsmbqtx.html