git常见和实用的命令行操作

185 阅读1分钟

Create

  1. 一个空的项目创建git
  • cd ~/project/myprojects
  • git init
  • git add .
  1. 已经存在的给i他仓库克隆下来

Show

  1. 展示文件目前有哪些改变是没有暂存到本地缓存区的
  • git status
  1. 对跟踪文件的更改
  • git diff
  1. 对比分支差别
  • git diff d1d1 d2
  1. 查看commit提交记录
  • git log
  1. 谁在文件中什么时候改变了什么
  • git blame $file
  1. 查看由$ID提交的文件
  • git show $id
  1. 查看所有分支
  • git branch

Revert

  1. 回退到某个版本的提交
  • git reset --hard xxxx(版本号)
  • git reset --hard HEAD^ (回退到上个版本)
  • git reset --hard HEAD~3 (回退到前3次提交之前,以此类推,回退到n次提交之前)
  • git push -f 强推提交回退到的版本
  1. git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的
  • git revert -n xxx(版本号)

revert: 适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法,最后会生成新的版本,这个版本撤销了你不想要的,保留了前后版本

Branch

  1. 切换分支
  • git checkout $branch
  1. 把分支branch1合并到branch2
  • git checkout branch2
  • git merge branch1
  • git commit -a 'xxxx'
  • git push
  1. 基于HEAD创建一个分支
  • git branch $branch
  1. 基于 branch1创建分支branch2
  • git checkout -b branch2 branch1
  1. 删除某个分支
  • git branch -d xxx

Update

1.fetch lastest changes from origin

  • git fetch
  1. pull lastest changes from origin
  • git pull

git fetch 和 git pull 的区别:

git fetch是从远程获取最新版本到本地,但不会自动merge。 而git pull则是会获取所有远程索引并合并到本地分支中来。效果相同时git pull将更为快捷。
在实际使用中,git fetch更安全一些 因为在merge前,我们可以查看更新情况,然后再决定是否合并

Publish

  1. commit本地的文件
  • git commit -a
  1. 给其他开发者打个补丁
  • git format-patch origin 3.推送commit到origin
  • git push
  1. 打个tag或者版本号
  • git tag v1.0