zoukankan      html  css  js  c++  java
  • 《Pro Git》第2章 Git基础

    • 1.获取Git仓库
      • 1.1从现有的目录中初始化仓库
        • 进入项目目录,git init,会创建一个名为.git的子目录
      • 1.2克隆现有的仓库
        • git clone [url],会将远程Git仓库中的每一个文件的每一个版本都拉取下来
        • git传输协议,https://,git://,ssh传输协议
    • 2.记录每次更新到仓库
      • 文件状态变化周期
      • 检查当前文件状态:git status
      • 跟踪新文件or暂存已修改:git add README,注:对于git add,如果参数是目录,将会将目录下所有文件追踪
      • 忽略文件:.gitignore文件
      • 查看已暂存和未暂存的修改:
        • git diff:比较工作目录和暂存区之间的差异,即未add的内容
        • git diff --cached(或 git diff --staged):比较暂存区和本地仓库之间的差异,即已add,未commit的内容
        • git difftool --tool-help
      • 提交更新:git commit -m "msg"
        • git commit -a -m "msg"相当于git add和git commit -m
      • 移除文件:
        • git rm README:从暂存区移除,并从磁盘删除
        • git rm --cached README:从暂存区移除,但不从磁盘删除
      • 移动文件:
    • 3.查看提交历史:git log
      • git log -p 显示每次提交的内容差异(好!)
      • git log -2 显示最近两次提交
      • git log --stat 显示每次提交的简略统计信息
      • git log --pretty=oneline
        • git log --pretty=oneline 将每个提交放在一行显示,short、full、fuller
        • git log --pretty=format:"%h - %an, %ar : %s"
        • git log --pretty=oneline --graph 显示ASCII图形表示的分支合并历史
        • git log --pretty=format:"%h %s" --graph
      • git log --oneline --decorate 使用--decorate查看各个分支当前所指的commit对象
      • git log --oneline --decorate --graph --all  输出提交历史、各个分支的指向、项目的分差情况
      • 限制输出
        • git log --since=2.weeks 显示最近两周的提交
        • git log --grep Merge 查找提交标题:显示含指定关键字的提交
        • git log -S FunctionName 查找提交内容:显示含指定关键字的提交
        • git log -p ./ 仅查看当前目录下的log(非常有用!)
        • git log -p  ~/IdeaProjects/leaf/leaf-web 查找指定的某些文件或目录的历史提交,注意路径要放到最后(非常有用)
    • 4.撤销操作
      • warn:在Git中任何已提交的内容几乎都是可恢复的,但任何未提交的内容可能再也找不到了。
      • 提交了发现漏掉了几个文件没有添加或者提交信息写错了
        • git commit --amend
      • 取消暂存的文件
        • git reset HEAD <file> 将提交到暂存区的文件回到工作目录
      • 撤销对文件的修改
        • git checkout -- <file> 还原成上次提交的样子
    • 5.远程仓库的使用
      • 查看远程仓库
        • git reomte origin是你克隆的仓库服务器的默认名字,可替代url
        • git remote -v
      • 添加远程仓库:git remote add <shortname> <url>
      • 从远程仓库抓取与拉取:git fetch [remote-name],git pull
        • 示例:git fetch origin 拉取,但不合并
        • 示例:git pull origin master 拉取并合并
      • 推送到远程仓库:git push [remote-name] [branch-name]
        • 示例:git push origin HEAD:
      • 查看远程仓库:git remote show [remote-name]
        • 示例:git remote show origin
          • 1)会列出本地分支执行git push会推送到哪个远程分支
          • 2)执行git pull哪些分支会合并
          • 3)哪些远程分支不在本地,或哪些远程分支已经从服务器上移除了
      • 远程仓库的移除与重命名
        • 重命名:git remote rename [old-name] [new-name]
        • 移除:git remote rm [remote-name]
    • 6.打标签
      • 标签类型:轻量标签、附注标签(常用),以下仅介绍附注标签
      • 附注标签
        • 列出标签:git tag
        • 创建标签:git tag -a v1.4 -m "my version 1.4"
        • 对过去的提交打标签:git tag -a v1.2 9fcdb01,其中,9fcdb01是commit的值
        • 共享标签:git push origin [tagname],标签必须显式地推送到远程仓库
        • 一次性推送多个标签:git push origin --tags,会把所有不在远程仓库的标签全部推送
        • 检出标签:git checkout -b [new-branch-name] [tagname]
  • 相关阅读:
    python-字典
    python-列表
    python:基础数据类型
    前端之JS
    数据库之备份,恢复
    前端之CSS
    前端之CSS笔记
    前端之html
    数据库之操作使用python操作mysql数据库
    何为javaBean?
  • 原文地址:https://www.cnblogs.com/yeyang/p/9293993.html
Copyright © 2011-2022 走看看