zoukankan      html  css  js  c++  java
  • git 使用整理

    git使用 Ubuntu 14.04

    安装

    apt-get install git

    版本查看

    git --version
    git version 1.9.1

    配置(全局变量,默认值。可在具体仓库中设置改仓库使用的配置)

    git config --global user.email "Zhang.Eamon@hotmail.com"
    git config --global user.name "EamonZhang"
    cd ~
    cat .gitconfig 
    [user]
    name = EamonZhang
    email = Zhang.Eamon@hotmail.com

    初始化仓库

    git init

    添加到暂存区

    git add <filename1>,<filename2>

    提交到暂存区

    git commit -m "....messages...."

    查看仓库当前的状态

    git status

    查看提交日志

    git log 

    查看提交日志,简版

    git log --pretty=oneline

    回退到上一版

    git reset --hard HEAD^

    查看操作日志,版本日交、回退

    git reflog

    切换到指定版本 

    git reset --hard <commit-id>

    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    查看工作区和版本库里面最新版本的区别

    git diff HAED -- <file>

    文件回到最近一次git commit或git add时的状态(与暂存区同步)

    git reset -- <file>

    回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本(与工作区同步)

    git reset HEAD <file>

    删除文件

    git rm <file>
    git commit -m " delete file .."
    
    git checkout -- <file>

    git checkout主要有三个作用:

    第一个就是切换分支。例如你从远程仓库clone下来所有的源代码,你git branch一下会看到你通常是在master,如果你想切换到某一个分支上呢?git checkout <branchname>
    第二个就是放弃对某个文件的修改。例如你想放弃对某个文件Hello.cpp的修改,git checkout -- <Hello.cpp>
    第三个就是新建一个分支,git checkout <-b> <branchname>,不加-b的话只新建不切换到新的分支上,加-b新建并切换到该分支上

    git reset主要是取消上一次的操作,具体用法有很多,说两个:
    第一个取消merge,git reset --hard ORIG_HEAD,这样会退回到merge前的代码。
    第二个就是取消commit,git eset HEAD~<num> <-soft/-hard>,取消上num次的commit
    第三个是将文件从stage(追踪的库)中移除,git reset HEAD <filename>

    远程连接

    git remote add origin git@github.com:michaelliao/learngit.git

    首次推送

    git push -u origin master

    推送

    git push origin master

    克隆远程到本地

    git clone git@****

    拉取

    git pull 

    信息查看

    git remote
    git remote -v

    首先,我们创建dev分支,然后切换到dev分支

    git checkout -b dev

    git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

    $ git branch dev
    $ git checkout dev
    然后,用git branch命令查看当前分支:

    $ git branch
    * dev
    master

    把dev分支的工作成果合并到master分支上:

    git merge dev

    查看分支:git branch

    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>
    用带参数的git log也可以看到分支的合并情况
    git log --graph --pretty=oneline --abbrev-commit
    git log --graph命令可以看到分支合并图
    --no-ff参数,表示禁用Fast forward
    git merge --no-ff -m "merge with no-ff" dev
    丢弃一个没有被合并过的分支,强行删除。
    git branch -D <name>
    本地分支和远程分支的链接关系没有创建
    git branch --set-upstream-to dev origin/dev

    保存工作现场
    git status
    git stash list
    恢复工作现场有两个办法:

    1 git stash apply
    git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    2 git stash pop
    git stash pop,恢复的同时把stash内容也删了

    你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:

    $ git stash apply stash@{0}

    标签管理
    对 6224937 提交打标签
    git tag v0.9 6224937
    查看所有标签
    git tag
    查看标签信息
    git show v0.9
    标签加说明信息
    git tag -a v0.1 -m "version 0.1 released" 3628164
    删除标签
    git tag -d v0.1
    标签推送到远程
    git push origin v1.0
    所有标签推送的到远程
    git push origin --tags

    官方网址 : https://git-scm.com/book/zh/v2

  • 相关阅读:
    网页自动跳转/定时跳转代码
    阿里云ECS用Xshell安装wdcp教程
    wdcp环境下更新PHP到5.3教程
    WDCP 安装教程,超简单!!
    Jquery select 三级联动 (需要JSON数据)
    Jquery实现循环删除Reaper某一行
    jquery更改Reaper某一列的值
    联系电话正则表达式(jquery表单验证)
    Jquery获取选中的checkbox的值
    sql语句创建主键、外键、索引、绑定默认值
  • 原文地址:https://www.cnblogs.com/zhangeamon/p/5476804.html
Copyright © 2011-2022 走看看