Git操作

作者: oigo | 来源:发表于2016-07-08 19:03 被阅读0次
  • 设置用户名和邮箱(--global表示全局)

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

  • 创建仓库

    - git init

  • 将文件添加到暂存区

    - git add example.txt

  • 把文件提交到仓库

    - git commit -m "提交说明"

  • 查看文件修改记录

    - git diff example.txt

  • 查看暂存区状态

    - git status

  • 查看提交日志

    - git log
    - 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

  • 版本回退

    - git reset --hard HEAD^
    - 用HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,往上100个版本用HEAD~100表示
    - git reset --hard commit_id
    - 回到commit_id代表的某个版本
    - 以上操作会删除git log记录

  • 撤销修改

    • 修改后 未add(添加到暂存区) 需要撤销修改时:
      - git checkout -- example.txt 或 手动删除工作区修改
      - 工作区 : clean 暂存区: clean
    • 修改后 add了(未commit) 再次修改文件 要撤销第二次修改时:
      - git checkout -- example.txt (将暂存区恢复到工作区)
      - 暂存区有第一次的修改需要commit
    • 修改后 add了(未commit),需要撤销修改时:
      - git reset HEAD example.txt (将暂存区修改删除)
      - 此时工作区的修改还未撤销
      - git checkout -- myfile.txt (撤销工作区修改)
    • 修改后 add并commit了,需要撤销修改时:
      - git reset --hard HEAD^ (版本回退)**
  • 删除文件

    • 将文件放入暂存区并提交
      - git add example.txt
      - git commit -m "new commit"
    • 删除文件
      - rm example.txt
    • 情况一:确定要从版本库中删除该文件
      - git rm example.txt
      - git commit -m "remove example.txt"
    • 情况二:恢复误删
      - git checkout -- example.txt
      - git checkout其实是用版本库里的版本替换工作区的版本,只能恢复文件到提交的最新版本
  • 添加远程库

    • 关联一个远程库
      - git remote add origin git@server-name:path/repo-name.git
      - 远程仓库默认名称为 origin
    • 查看远程库信息
      - git remote
      - git remote -v 显示详细信息
    • 删除远程库
      - git remote remove origin
      - origin为默认仓库名
    • 推送本地内容
      - git push -u origin master
      - 若提示要先fetch,则执行git pull origin master
      - 成功后提示输入描述为什么合并是必须的,操作如下:
        press "i"
        write your merge message
        press "esc"
        write ":wq"
        then press enter
      - 然后再执行以上操作
  • 创建与合并分支

    - 查看分支:git branch

    - 创建分支:git branch <name>

    - 切换分支:git checkout <name>

    - 创建+切换分支:git checkout -b <name>

    - 合并某分支到当前分支:git merge <name>

    - 删除分支:git branch -d <name>

    - 强制删除分支:git branch -D <name>

  • 解决冲突

    - branch_zj分支对example.txt做了修改,add和commit后,切换到master分支
    - 同样在master分支修改example.txt,add和commit后,没有这一步一般不会冲突
    - 执行:git merge branch_zj
    - 提示冲突,修改文件
    - 再执行add和commit
    - git branch -d branch_zj 删除被合并的分支

  • 强制禁用Fast forward模式

    - git merge --no-ff -m "commit messagee" branch_zj

  • 储藏当前工作区修改

    • git stash
      - 把当前分支所有没有 commit 的代码先暂存起来
    • git stash list
      - 列出暂存记录
    • git stash apply [stash_id]
      - 恢复暂存代码,如果省略 stash_id 默认恢复最近的暂存记录
    • git stash drop [stash_id]
      - 删除指定暂存记录,若没指定stash_id则删除最近一条stash记录
    • git stash pop [stash_id]
      - 还原代码,并删除该条stash记录
    • git stash clear
      - 就是清空所有暂存区的记录
  • 推送分支

    - git push origin <branch_name>

  • 创建标签

    • git tag <tag_name>
      - 默认标签是打在最新提交的commit上
    • git tag <tag_name> <commit_id>
      - 为指定的提交创建标签
    • git tag
      - 查看标签列表,标签是按字母排序的
    • git show <tag_name>
      - 查看标签信息
    • git tag -a <tag_name> -m "description"
      - 创建带说明的标签
  • 操作标签

    • git tag -d <tag_name>
      - 删除标签
    • git push origin <tag_name>
      - 推送某个标签到远程
      - 创建的标签都只储存在本地,不会自动推送到远程
    • git push origin --tags
      - 一次性推送全部尚未推送到远程的本地标签
    • 删除远程标签
      - git tag -d <tag_name> 本地删除
      - git push origin :refs/tags/<tag_name> 远程删除
  • 忽略特殊文件

    • 添加.gitignore,写入要忽略的文件名
    • 忽略的文件不能执行add,可用 -f 强制添加到Git
    • git add -f ignored.txt
    • 检查文件是否被忽略: git check-ignore -v ignored.txt

相关文章

  • Git 系列文章

    GIT 初识 Git的基础操作 Git的远程操作 Git的分支管理 Git标签操作 Git团队协作 Git 多账户...

  • Git操作

    Git操作 常规操作 git init git add git rm git commit -m git comm...

  • Git的常用命令

    一、Git简易操作 git操作手册(命令行git bash) 最简单易懂的git操作廖雪峰git教程Pro Git...

  • Git解决代码修改冲突

    Git 操作说明 Git下载项目 操作命令 Git上传提交 操作命令 Git解决同一文件多人修改冲突 操作步骤

  • ios git的使用

    git本地操作 git团队开发操作 git分支管理 gitHub使用

  • Git远程操作详解

    Git远程操作详解 Git远程操作详解

  • Git 教程(一)--Git简介及操作流程

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(五)--远程分支

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(四)--分支原理

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(三)--远程仓库

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

网友评论

      本文标题:Git操作

      本文链接:https://www.haomeiwen.com/subject/mulrjttx.html