zoukankan      html  css  js  c++  java
  • 常见Git操作及关键知识点

    一、Git三区概念

    工作区 (work dict)

    暂存区(stage)(add 是添加到当前的暂存区)

    提交区(就是当前工作的分支master分支或者branches分支)

    git 所有操作都是基于这三个区域进行的

    完成一个文件的修改和添加流程是:工作区--->暂存区--->提交区

    特别强调一个概念:git的所有行为都是基于修改的而不是基于文件的。

    二、常见Git本地仓库操作

    创建一个git仓库 git init (用ls -ah 查看当前目录下面会有.git文件)

    添加git文件 git add git.txt (添到暂存区)

    提交git文件 git commit git.txt (添加到提交区)

    查看当前git仓库状态 git status (查看工作区的工作状态)

    查看文件和最新版本的区别有两个

    git diff git.txt (是工作区和暂存区的比较)

    git diff HEAD --git.txt 

    (注:这里概念有点绕,HEAD指向是最新提交的信息,而暂存区一般都是最新版本,所以这里可以认为两个都是和最新

    版本的比较,其中HEAD可以替换为对应的版本号,就是可以理解为和对应版本进行比较)

    查看文件的提交修改 git diff --cached git.txt (是暂存区和分支的比较)

    查看文件的提交版本记录git log 或者是git log --pretty=oneline

    回滚git修改版本上一版本 git reset --? HEAD^ (上上一版本是HEAD^^)

    回滚到修改版本的前指定N个版本 git reset --? HEAD~N

    回滚到指定版本(版本id以versionid) git reset --? versionid

    (注:这里打一个? 指的是对应不同的参数对应不同概念,hard 是三个区全部回退,mixed 默认参数除了工作区其他两个

    区域都回退,soft只把分支区回退)

    查看具体操作命令就像是liunx系统的history基本功能 git reflog

    撤回工作区的具体修改到最近一次的git commit 或者git add 的状态 git checkout -- git.txt

    删除一个工作区文件 rm git.txt

    删除一个工作区和暂存区文件 git rm git.txt(=先rm 后git add)

    恢复删除文件 git reset HEAD 后 git checkout -- git.txt

    三、本地仓库和远程仓库处理基本操作命令

    关联本地仓库和远程仓库 git remote add origin XXXXX (origin是远程仓库的默认叫法)

    推送本地仓库到远程仓库 git push -u origin master(-u 操作在第一次进行的时候添加之后可以不再带此参数)

    从远程仓库克隆到本地仓库 git clone XXX(具体路径)

    查看远程仓库信息 git remote (-v 可以更详细看对应信息)

    四、分支操作

    单纯创建分支 git branch git_branch

    切换到某个分支 git checkout git_branch

    创建并切换到新分支 git checkout -b git_braches (-b 表示创建并切换当前分支,如果完成单纯的切换分支可以去掉-b)

                                                                      (= 先git  branch xxx 后 git checkout xxx)

    查看当前的分支 git branch (列出所以分支,并且会在当前分支上画一个*)

    合并指定分支到当前分支 git merge git_branch

    删除指定分支 git branch -d git_branch

    查看分支合并情况 git log --graph --pretty=oneline --addrev-commit

    分支合并禁用fast-forward模式 git merge --no-ff -m "xxxx" git_branch(加--no-ff的目地是为了能用git log看出分支的合并历史)

    拉取远程最新提交 git pull

    在本地创建和远程对应的分支 git checkout -b branch-name origin/branch-name

    建立本地分支和远程分支的关联git branch --set-upstream branch-name origin/branch-name

    五、一些特殊操作

    git stash 保存当前分支工作区内容

    git stash list 查看stash区域保存的某个分支的工作内容

    git stash  apply 恢复当前分支的工作内容

    git stash drop 删除stash区域保存的某个分支的工作内容

    git stash pop 恢复当前分支的工作内容并删除stash区域保存的分支的工作内容

    以上stash 操作如果对对应的列表中某个版本操作可在以上后面加对应版本 如 git stash apply stash@{0}

    六、为当前提交打分支

    创建标签git tag vX.X version-id

    查看标签信息 git show vX.X

    创建带有说明的标签信息 git tag -a vX.X -m "说明信息" version-id

    七、个性化设置

    git 适当显示不同的颜色 git config --global color.ui true

    八、配置个性话git服务器

    暂不讲了,可以参考网上的攻略

  • 相关阅读:
    字符串倒序
    字符串反转问题
    linux系统性能分析
    操作系统基础知识
    两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
    用加法模拟乘法
    2015年最新中国知网CNKI免费账号直接入口
    nginx模块开发(18)—日志分析
    nginx基本配置
    三层架构和MVC
  • 原文地址:https://www.cnblogs.com/nancymake/p/6790685.html
Copyright © 2011-2022 走看看