git的一些常用基础命令

一些常用的git命令操作简单总结

记录常用的git命令,附带命令的简单使用说明

git区域分布

remote远程仓库 repository本地仓库 index暂存区 workspace工作区 stash与独立分支的堆区

  1. workspace add/stage=> index git add ./filename git stage ./filename
  2. index commit=> repository git commit -m "xxx"
  3. repository push=> remote 不同名:git push origin branchName 同名:git push本地分支与远程分支必须具有track关系
  4. remote fetch=> repository 初次建本地仓库git clone 拉最新代码git fetch
  5. remote pull=> workspace git pull
  6. repository => workspace git checkout

分支处理

分支创建

  • git branch develop 创建本地分支名为develop(此时没有track跟踪远程分支)
  • git checkout develop 本地切换分支到develop
  • git checkout -b develop ===前两步

本地分支track跟踪远程分支

假设要创建一个分支develop

远程有分支,新建本地分支跟踪远程分支(分支名:origin/develop)

本地创建分支track跟踪远程分支:git checkout --track origin/branch_name

  1. 方法1
  • git checkout --track origin/develop 将自动新建一个与远程分支同名的本地分支develop ,会自动track跟踪远程的同名分支origin/develop。
  1. 方法2
  • git checkout -b new_branch_name origin/branch_name 根据远程分支origin/branch_name 创建一个本地分支 new_branch_name,会自动track跟踪。这样可创建不同名分支。建议分支名一样。

远程没有分支,新建远程分支

本地创建无track关系的分支,推送到远程,并且:git push --set-upstream origin branch_name 自动在远程创建一个 branch_name 分支,然后自动本地分支 branch_name track origin/branch_name 远程分支

  1. 方法1
  • git branch develop
  • git checkout develop
  • git push --set-upstream origin develop 会自动在远程创建一个同名分支origin/develop,并跟踪

分支合并与删除

假设要将develop合并到master

  1. 先切换到要主分支: git checkout master
  2. 合并分支: git merge develop
  3. 删除本地分支 git branch -d develop
  4. 删除远程分支 git push origin --delete develop

代码回滚

checkout

  1. 重置workspace的代码:git checkout fileName 重置所有git checkout .
  2. 1中不可重置新建的文件。git clean -df 重置workspace所有新加的代码和文件

revert

  1. git revert HEAD~1 / commit_id 撤销一个提交的同时会创建一个新的提交。安全。不会移除当前分支的一些提交commit记录

reset

  1. git reset HEAD~1 / commit_id 在提交层面上,reset将一个分支的末端指向另一个提交。不安全,最好不要再公共分支上使用。会移除当前分支的一些提交commit记录

独立堆区

stash

  1. git stash 将当前的更改存放到独立于所有分支的堆区(例如切换分支时,又不想commit当前更改)
  2. git stash pop 将堆区返回workspace
  3. git stash list 查看stash列表

    对比stage, stash隶属于当前分支的暂存区,属于分支的子集。

tag标签

  1. git tag tag-name 给最新commit打标签
  2. git tag -d tag-name 删除对应标签
  3. git push origin tag-name 推送标签到远程

猜你喜欢

转载自www.cnblogs.com/damonFeng/p/10224207.html