首页 > 技术文章 > GitBash常用命令

arno92 2018-04-17 10:37 原文

  git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
  git add XX 把xx文件添加到暂存区去。
  git commit –m “XX” 提交文件 –m 后面的是注释。
  git status 查看仓库状态
  git diff XX 查看XX文件修改了那些内容
  git log 查看历史记录
  git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
  (如果想回退到100个版本,使用git reset –hard HEAD~100 )
  cat XX 查看XX文件内容
  git reflog 查看历史记录的版本号id
  git checkout -- XX 把XX文件在工作区的修改全部撤销。
  git rm XX 删除XX文件
  git remote add origin http://git.fengqun.ltd/liucong/pizza.git 关联一个远程库
  git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
  git clone https://github.com/tugenhua0707/testgit 从远程库中克隆

  git branch name 创建分支
  git checkout –b dev 创建dev分支 并切换到dev分支上
  git branch 查看当前分支

  git branch  -a查看远程分支

    git checkout master 切换回master分支

  git merge dev 在当前的分支上合并dev分支

  git branch -D BranchName 删除本地分支

  其中-D也可以是--delete:

  git branch --delete BranchName

  git branch -r -D origin/BranchName  删除本地的远程分支

       git push origin -d BranchName 远程删除git服务器上的分支

  其中-d也可以是--delete:

  git push origin --delete BranchName

       git push origin v2.0_dev //推送本地的v2.0_dev分支到远程
  git remote 查看远程库的信息
  git remote –v 查看远程库的详细信息
  git pull origin master 获取远程文件 指定分支
  git diff XX 查看XX文件修改了那些内容
  git log 查看历史记录
  vim .gitignore 添加忽略文件
  git check-ignore 检查忽略文件命令是否正确
  :wq 保存退出VI命令  :q!不保存退出
  git log -p -2 查看最近两次详细日志
  git reset --hard 代码库覆盖本地
  git pull
  回退版本:
  git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 
  推送到远程服务器
  git push -f -u origin master 
  迁移地址:
  git remote set-url origin http://git.fengqun.ltd/fengqun/pizza.git

  # 将b分支合并到当前分支

  git merge b

  git 用放弃本地修改用远程覆盖本地:

  git fetch --all

  git reset --hard origin/master

  git fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本

  git update-index --assume-unchanged .classpath //忽略已跟踪文件的修改

标签管理:

  列出现有标签:

  git tag

  创建含附注的标签用 -a (译注:取 annotated 的首字母)指定标签名字:

  git tag -a v1.1 -m 'version 1.1'

  推送所有本地新增的标签:

  git push origin --tags

  拉取使用tag分支:

  1、 git clone 整个仓库,然后 git checkout tag_name 取得 tag 对应的代码. 

# git 可能会提示当前处于一个“detached HEAD” 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,需要一个分支: 

  2、git checkout -b branch_name tag_name 
   tag会 创建一个分支,然后就和普通的 git 操作一样了

  删除tag标签:

  git tag -d v0.9 删除本地tag标签

  git push origin :refs/tags/v0.9 删除远程标签

  已经推送(push)过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除git远程库中相应文件 执行命令 git update-index --assume-unchanged Xml/config.xml 后面的 Xml/config.xml 是要忽略的文件的路径

  git更新远程分支列表

  git remote update origin --prune

  git remote update origin -p

  git生成配置文件,免掉每次需要账号密码登录

    git config --global credential.helper store 

  

  恢复本地删除的文件:

    step1:

    查看本地对改动的暂存记录 git status

   step2:

    git reset HEAD [被删除的文件或者文件夹路径]

   step3:

    git checkout [被删除的文件或者文件夹路径]

 

推荐阅读