GIT系列---Git备忘命令

版本控制:一种记录若干文件内容变化(修改),以便将来查阅特定版本修订的解决办法。而我们所使用的Git就是一种 分布式版本控制。

一些概念

  1. Workspace工作区,就是我们电脑中的文件目录

  2. Index暂存区,暂存区会记录 git add 添加的文件,所操作的文件就变成了可被提交的了,并且通过 git status 查看暂存区状态

  3. Repository本地仓库,保存了所提交的文件的版本到本地

  4. Remote远程仓库,例如GitHub,码云

基本操作

初始化

git init

在当前目录下生成.git子目录。该目录中管理当前目录内容所需要的仓库数据。

查看git配置信息

git config -list
git config -l

查看已经存在的远程分支

git remote    // 列出已经存在的远程分支
git remote -v // 列出详细信息,在每一个名字后面列出其远程url(显示对应克隆地址)

添加一个远程仓库

git remote add url    // url为远程仓库git地址

向暂存区添加文件

git add      

将工作区的修改的内容提交到暂存区,交由git管理

暂存区状态

git status   // 显示更新的文件

可以查看暂存区状态,(工作区修改未add,为红,add未commit,为绿)

提交本地仓库

git commit -m "info"   // info为提交描述文案

将暂存区里的所有改动提交到本地版本库

查看提交日志

git log
git log --pretty=oneline   // 格式化更简便
git reflog

可以查看提交的-m信息和commit id(一大长串,通过那个前5,6位做版本回溯等操作)

版本回退

// 只撤销commit,不删除add之后工作空间的代码改动
git reset -- soft HEAD^
// 既要撤销commit,又要删除add之后工作空间的代码改动
git reset --hard HEAD^   // 一个^回退一个版本,两个^回退两个版本以此类推
git reset --hard HEAD~1  // ~后数字为回退的版本个数

命令详解

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1

如果进行两次的commit,想要都撤回,可以使用HEAD~2

--soft

不删除工作空间的改动代码,撤销commit,不撤销git add file

--hard

删除工作空间的改动代码,撤销commit且撤销add

撤销修改

git checkout --<file>

若为add撤销到最新版本库,add了就和暂存区的一样了

git reset HEAD <file>     // 撤销暂存区的修改,回到最新的一次提交

推送远程仓库

git remote add origin 仓库链接     // 添加远程仓库
git push -u origin master        // 推送至远程仓库 

克隆到本地

git clone 远程库链接          // 克隆整个项目
git pull                    // 获取最新的远程库代码

拉取所有更新分支

git fetch              // 获取当前远程仓库的所有分支
git fetch --all        // 获取所有远程仓库分支  

保存本地工作空间

git stash         // 保存本地工作空间的修改,并回到上一个版本,本地代码无更新(未add)

恢复本地工作空间

git stash pop    // 恢复之前本地工作空间修改的代码(未add)

分支

  • 查看分支
git branch -a     // 查看所有分支,包含远程和本地
git branch -r     // 查看远程分支
git branch        // 查看本地分支,带星的是当前所在分支
  • 创建分支
git branch dev       // 本地创建dev分支

  • 切换分支
git checkout dev    // 切换到dev分支
git switch dev
  • 创建加切换
git checkout -b dev    // 在当前分支的基础上创建新的本地分支dev
git switch -c dev    // 同上
git checkout -b dev origin/develop  // 在本地新建dev分支拉取远程origin/develop分支代码
  • 合并分支
git merge dev         // 合并分支dev到当前分支
  • 删除分支
git branch -d dev     // 删除本地的dev分支
  • 新建远程分支
git push origin develop:dev  // 把本地分支dev上的代码push到新建远程分支develop上
  • 删除远程分支
git push origin :develop // 推送一个空分支到远程分支develop,相当于删除远程分支
git push origin --delete develop   // 删除指定的远程分支 develop
  • 新建远程分支feature/mvp-4
git push origin HEAD:feature/mvp-4
posted @ 2021-10-12 16:40  春燕啄春泥  阅读(39)  评论(0编辑  收藏  举报