zoukankan      html  css  js  c++  java
  • git使用总结

    一.基本概念

    工作区:本地git管理的文件夹的内容

    缓存区:git add将工作区内容更新到缓存区

    本地分支:git commit将缓存区内容更新到本地分支

    远程分支:git push将本地分支更新到远程服务器端分支

    git管理的文件夹内的.gitignore文件可以告诉git不用管理有哪些后缀的文件

    若untracked file在版本切换和分支切换前存在于工作区,则该文件会出现在切换后的工作区,且仍处于untrack状态

    一个良好的习惯是,再切换分支和切换版本前git add,git commit一遍,保证working tree干净

    二.基础指令

    git add -A //添加工作区所有文件到缓存区(包括.git,.gitignore等隐藏文件)

    git add filename //添加指定文件到缓存区

    git commit -m "注释" //将缓存区内容提交到当前分支,并附带备注

    git status //比较工作区和分支文件异同(新增或删除了哪些文件)和缓存区的哪些文件还未提交到分支

    git clone 仓库url //从远程服务器克隆仓库到本地

    git push -u origin master//将远程空仓库克隆到本地后,使用该命令第一次推送本地master分支的所有内容到远端

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
    

    git push //将当前分支push到远程服务器,前提是远程服务器上已有对应分支

    git pull //将远程服务器端分支的更新同步到本地分支

    git init 仓库名 //在本地工作区创建新的仓库

    git push --set-upstream origin //当本地创建新分支想创建远程分支时使用的命令

    三.进阶指令

    • 指定文件的版本回退

      git checkout -- filename //将文件内容恢复到当前缓存区的对应版本

      git reset HEAD filename //将该文件的本地分支的版本覆盖缓存区的版本

    • 工作区全部内容的版本回退

      git reset --hard HEAD^ //回退到上一个commit的版本
      git reset --hard 版本号 //上个版本可用HEAD^表示,其余版本号可用git reflog查看;该命令会重置工作区和缓存区为版本库内容(非常实用,我个人用得蛮多的;遇事不决,果断重启emm);若版本回退前有untracked file存在于工作区,切换版本会将该文件带到回退后的版本

    • 分支查询、切换操作

      git checkout --orphan 分支名 //创建一个与当前分支无关的新分支并切换过去

      git checkout -b 分支名 //创建一个从当前分支的子分支并切换过去

      git checkout 分支名 //切换到已有的分支

      git branch -a //查看本地和远程服务器上的所有分支

      git branch -d 分支名 //删除非当前分支的分支

    • 其他
      git log //显示从最近到最远的提交日志

  • 相关阅读:
    bisect in Python
    1385. 两个数组间的距离值
    面试题 04.08. 首个共同祖先
    Python关键字yield
    1237. 找出给定方程的正整数解
    响应式文字
    java环境变量设置
    小 div在大 div中左右上下居中
    清除浮动
    jQuery 图片等比缩放
  • 原文地址:https://www.cnblogs.com/notorious/p/11704493.html
Copyright © 2011-2022 走看看