zoukankan      html  css  js  c++  java
  • Git的一些基本概念

    Git的一些基本概念

    • 设置自己的用户名和邮箱
      git config –global user.name "Your Name"git config –global user.email "you@example.com"
    • 修改到提交之间有一个缓存区
      • 提交到缓存区
        git add .
        当前所有修改提交到缓存区,也可以单独指定
      • git diff --cached
        查看缓存区和本地仓库里的差异
      • git diff HEAD
        查看已缓存和当前的区别
      • git diff
        查看当前未缓存的和本地仓库里的区别
      • git diff --stat
        显示摘要
    • 撤销缓存区里的一个更改,例如hello.rb
      git reset HEAD -- hello.rb
    • git rm file
      将file从文件缓存区、本地目录中移除
    • git rm file --cached
      只从缓存区移除,保存本地目录中的

    分支操作

    • git branch
      列出可用的分支
    • git branch jser.me
      创建jser.me分支
    • git checkout -b jser.me
      检查jser.me分支是否存在,不存在就创建,并且切换过去
    • git branch -d jser.me
      删除分支jser.me
    • git merge
      其它分支合并到当前分支
    • git checkout -b gh-pages origin/gh-pages
      检出并且设置当前分支为远程分支gh-pages

    Log查看

    • git log --oneline
      紧凑查看
    • git log --graph
      图形显示
    • git log erlang ^master
      查看只在erlang分支里的修改
    • git log --grep
      正则取一个log
    • git shortlog master
      生成一个简报

    里程碑

    • git tag -a v1.0
      打上v1.0

    恢复删除的文件

    • git checkout commitid -- pathfile

    与人分享

    • git remote
      列出远端的别名
    • git remote add remotename remotepath
      以remotename命名remotepath
    • git remote rm remotename
      删除别名为remotename的远程仓库
    • git fetch
      只下载
    • git pull
      下载并更新
    • git push remotename branch
      推送本地分支branch到远程仓库remotename的branch分支

    一些原则新功能尽可能的开分支,但是定期合到master上来,不要把某一个分支长

    时间的开发 使用git-flow

    Git的几个关键知识点

    • 有三种状态:
      • 暂存 staged
      • 修改 modify
      • 已经提交
    • git status
      • 前面状态有两列,头一列是暂存区的改动情况,如果你commit,它会提交,第二列是当前共工作区的状态,它是不会被提交的
    冲突之后的解决找到冲突的地方,手工解决,然后git add filename; git commite

    只合并特定的分支特定文件

    • 使用命令
      git cherry-pick #commitid
    • checkout方法
      git checkout branch -- filename

    查看和远程分支的对比

    • 先把远程分支搞到本地
      git fetch origin master:temp, 从远程的origin仓库的master分支下载到本地并新建一个分支temp
    • 比较分支
      git diff temp
    • 合并特定的文件,参考上面的
    • 删除无用的分支
      git branch -d temp

    git diff

    • 只显示有对比的文件
      git diff 608e120 4abe32e --name-only
    • 配合搞成压缩文件
      git diff 608e120 4abe32e --name-only | xargs zip update.zip
    • 如果不是查看每个文件的详细差别,而是统计一下有哪些文件被改动,有多少行被改 动,就可以使用‘--stat' 参数。
    • diff指定的文件

    查看今天的更改

    • git log --since=1.days
     
     
  • 相关阅读:
    spring事件广播
    浏览器中文乱码,组合项目中部分模块乱码
    SpringSecurity加密Salt
    Linux服务器Java输出文件中文乱码
    重定向监听端口并持久化路由配置
    Mac下文件编码转换
    Shell之内容匹配与格式输出
    [leetcode]Scramble String
    [leetcode]Decode Ways
    [leetcode]Valid Palindrome
  • 原文地址:https://www.cnblogs.com/xupeiyu/p/3951664.html
Copyright © 2011-2022 走看看