Git实战

主要参考:菜鸟教程

一、Git实战

在这里插入图片描述

1. 基本术语

1.1 相关术语概念

    远程/本地仓库:remote/local repository
    工作区workspace
    暂存区stage/index
    分支branch
    标签tag
    默认远程仓库名origin
    默认分支master

1.2 Git工作区、暂存区和版本库

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
    Git工作区、暂存区、版本库- 需要注意的几个点:
    • 图中的 objects 标识的区域为 Git 的对象库,实际位于 “.git/objects” 目录下,里面包含了创建的各种对象及内容。
    • git commit暂存区的目录写到版本库中,master分支会做相应的更新
    • git reset HEAD:暂存区的目录树会被重写,被master分支所替换,但工作区(本地)不受影响
    • git rm --cached:从暂存区删除文件,工作区不做改变
    • git checkout . 或者 git checkout – 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
    • git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

1.3 基本操作流程

Git常用操作**********************************************************************************************************************

1. 从远程仓库clone代码至本地代码
    git clone https://github.com/hp-liangXW/git_in_action.git

2. coding(本地编程VScode)

3. 提交
    git add XXX (将代码放入暂存区stage/index,先在本地仓库中加入文件,再add匹配)
    git commit -m 'add file XXX'(提交所有改动到本地仓库,并添加注释'')
    git push(提交到远程仓库)

4. 拉取
    git pull(远程拉取到本地)

1.4 分支操作

1. 查看分支
    git branch
2. 查看本地分支
    git branch -a
3. 创建分支
    git branch BRANCH_NAME
4. 切换分支
    git checkout BRANCH_NAME
5. 切换分支时,暂停操作
    git stash
    git stash pop

1.5 撤销与回退

1. revert和reset的区别
2. 撤销某次提交
    git revert –n COMMIT_ID(通过创建新的分支,回退到该次提交后的状态)
3. 回退至某个提交后
    git reset --hard COMMIT_ID
    git push -f
4. git checkout -- filename:放弃工作区的修改,回到最新git commit/add状态)尚未提交到缓存区)
5. git reset HEAD filename:撤销缓存区修改,放回工作区,再用git checkout -- filename放弃工作区的修改

1.6 cherry pick

1. 使用场景
    仅将Branch_2上的某个commit,合并到分支Branch_1上。
2. 使用方法
    git checkout Branch_1:进入branch1
    git log Branch_2 :找到Branch_2上需要待合并的commit的id值: COMMIT_ID
    git cherry-pick COMMIT_ID :执行合并

1.7 冲突处理与设置忽略规则

场景:项目文件中demo文件用于存放图片文件。在进行代码上传时,不想上传demo文件夹中的图片。
  - 首先在原文件夹下建立".gitignore"
  - 在该文件中建立规则(demo/*:demo文件夹下的都不上传)

1.8 常用命令

  • git status:查看项目的当前状态

  • git log --pretty=oneline:用一行显示提交信息

  • git reflog:记录每一次命令

  • 打开、修改、保存文件

- touch + filename:创建文件
- cat + filename:查看文件内容
- vim + filename:进入编辑模式
- 在命令模式下按i,进入编辑模式;编辑模式下按下ESC键,回退到命令模式
- 保存文件":w",保存并退出":wq"/"ZZ"
- 放弃文件修改:按下ESC键->":q!"->回车->放弃修改并退出vim
  • 关于删除操作
- git rm filename:直接执行删除操作,再commit、push可以同步远程仓库
- git rm -f filename:强制删除已放入缓存区的文件(程度较浅)
- git rm --cached:只删除缓存区的文件(程度更浅)
  • git merge branchname:与branchname合并相关内容

  • git branch -d (branchname):删除分支

  • 常用命令速查表
    常用命令速查表

发布了1 篇原创文章 · 获赞 0 · 访问量 12
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览