Git常用命令

229 阅读1分钟

git简介

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

git和svn区别

  • GIT是分布式版本控制,SVN是集中式版本控制。
  • GIT把内容按元数据方式存储,SVN是按文件。
  • GIT没有一个全局版本号,而SVN有。
  • GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。
  • GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
  • GIT可离线完成大部分操作。

git安装

windows从官网下载安装https://git-scm.com/

配置git

安装成功后打开git bash

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

git常用命令

  • 在项目根目录初始化git仓库
$ git init
  • 添加文件
$ git add <file>
  • 提交
$ git commit -m <message>
  • 查看当前工作区状态
$ git status
  • 查看文件修改内容
$ git diff <file>
  • 查看提交历史记录
$ git log

$ git log --pretty=oneline
  • 版本回退
//回退上一个版本HEAD^
//回退上上个版本HEAD^^
//回退上100个版本HEAD~100
$ git reset --hard HEAD^
$ git reset --hard <版本ID>
  • 查看操作历史记录
$ git reflog
  • 撤销修改文件
//让文件从版本库里的版本替换工作区的版本
$ git checkout -- <file>
  • 删除文件
$ git rm <file>
  • 关联远程仓库
$ git remote add origin <address>
  • 提交到远程仓库
//第一次提交要加-u参数
$ git push -u origin master
$ git push origin master
  • 克隆仓库到本地
$ git clone <address>

-查看分支

$ git branch
  • 创建分支
$ git branch <分支名>
  • 切换分支
$ git checkout <分支名>
  • 创建+切换分支简写
$ git checkout -b <分支名>
  • 合并分支
//合并指定分支到当前分支
//如果要合并分支到master上,需要先切换到master分支上再合并
$ git merge <分支名>

//禁用Fast forward模式,合并后的历史有分支
$ git merge --no-ff -m "merge with no-ff" <分支名>
  • 删除分支
$ git branch -d <分支名>

//强制删除没有合并的分支
$ git branch -D <分支名>
  • 取回远程分支的更新,再与本地的指定分支合并
$ git pull
  • 建立本地分支和远程分支关联
git branch --set-upstream <分支名> origin/<分支名>