git操作流程:1.拉取远程库代码 -> 2.提交代码

1.拉取远程库代码
  1.1拉取远程库master到当前目录:$ git clone [url]
  1.2拉取远程库master到指定目录:$ git clone [url] [project-name]
  1.3拉取远程库指定分支到当前目录:$ git clone -b [branch-name] [url]
  1.4拉取远程库指定分支到指定目录:$ git clone -b [branch-name] [url] [project-name]

  1.5拉取远程库指定分支代码到本地分支:$ git pull [remoteName] [localBranchName]

2.提交代码
  流程:1.新增新代码至暂存区 -> 2.提交暂存区代码至本地仓库 -> 3.上传本地仓库代码至远程仓库
  1.1新增所有代码至暂存区:$ git add .
  1.2新增指定文件夹下代码至暂存区:$ git add [dir]
  1.3显示当前工作区与暂存区数据和内容变化:$ git diff
  1.4显示某次commit的数据和内容变化:$ git show [commit]
  1.5显示当前分支的最近几次提交:$ git reflog
  1.6恢复暂存区的指定文件到工作区:$ git checkout [file]
  1.7恢复某个commit的指定文件到暂存区和工作区:$ git checkout [commit] [file]
  1.8恢复暂存区的所有文件到工作区:$ git checkout .
  1.9重置暂存区的指定文件,与上一次commit保持一致,但工作区不变:$ git reset [file]
  1.10重置暂存区与工作区,与上一次commit保持一致:$ git reset --hard
  1.11重置当前分支的代码为指定commit,同时重置暂存区,但工作区不变:$ git reset [commit]
  1.12重置当前分支的代码为指定commit,同时重置暂存区和工作区,与指定commit一致:$ git reset --hard [commit]

  2.1提交暂存区代码至本地仓库-(签名):$ git commit -m [message]
  2.2提交暂存区指定文件夹下代码至本地仓库-(签名):$ git commit [dir] -m [message]
  2.3commit时忘记输入message,进入vim输入框输入注释的方法:
    1.按键盘字母 i 进入insert模式;2.修改最上面那行黄色合并信息,可以不修改;3.按键盘左上角"Esc";4.输入":wq",注意是冒号+wq,按回车键即可

  3.1关联到远程库:git remote add [remoteName] [url]
  3.2上传本地仓库指定分支代码至远程仓库:$ git push [remoteName] [branch]
  3.3上传本地仓库所有分支代码至远程仓库:$ git push [remote] --all

3.操作分支
  内容:1.远程创建分支,或者本地创建分支后推到远程。2.分支切换、删除。3.分支合并
  1.1查看所有本地分支及远程分支:git branch -a
  1.2查看所有本地分支:git branch
  1.3新建本地分支,停留在当前分支:git branch [branchName]
  1.4新建本地分支,并切换到该分支:git checkout -b [branchName]

  2.1切换分支:git checkout [branchName]
  2.2推送当前分支至远程仓库:git push
  2.3推送指定分支至指定远程仓库:git push [remoteName] [branchName]
  2.4删除本地分支:git branch -d [branchName]
  2.4删除远程分支:git push origin --delete [branchName]

  3.1本地合并指定分支到当前分支:git merge [branchName];当前分支直接指向新分支,类似于指针赋值。
    本地合并指定分支到当前分支2:git merge --no-ff [branchName];这样的话,会创建一个新的节点,类似于数组对象深拷贝。

4.撤销更改

  4.1已修改,未暂存:git checkout .   or   git reset --hard
  4.2已暂存,未提交:1.git reset 2.git checkout .   or   git reset --hard
  4.3已提交,未推送,强制从远程拉取代码覆盖本地:git reset --hard origin/master
  4.4已推送,只能本地回滚版本,然后再提交代码到远程:1.git reset --hard HEAD^  2.git push --force  将代码强制推送远程

5.代码冲突
  代码冲突分为:git push时代码冲突、git pull时代码冲突,
  解决方式1:1.将远程改动取回到本地,但不合并 2.手动合并到工作区,会生成冲突文件,解决冲突文件即可
    1.git fetch 2.git merge
  解决方式2:1.将本地改动进行暂存 2.重置本地工作区代码 3.拉取远程改动的代码 4.从暂存区取回之前的代码,并解决冲突文件
    1.git stash 2.git reset --hard 3.git pull 4.git stash pop

6.其它
  6.1初始化当前目录:$ git init
  6.2初始化指定目录:$ git init [project-name]
  6.3查看远程库地址:$ git remote -v
  6.4通过 GitLab 平台走MR合并分支:在 GitLab 中 → 点击 Merge Requests → 点击 New merge request → 选择自己的分支 → 选择目标分支 → 点击 Compare branches and continue 这个按钮 → 提交 → 点击Merge 通过MR即可

7.yarn使用方式
      7.1全局安装:npm install -g yarn
      7.2yarn切换成淘宝镜像: yarn config set registry http://registry.npm.taobao.org/
      7.3忽略版本问题:yarn config set ignore-engines true
      7.4安装命令:yarn install

8.一般来说,记住以下命令,就能完成日常工作了:

参考自:Git常用命令及方法大全