zoukankan      html  css  js  c++  java
  • git常用命令

     
     
     
    init
    git init 初始化为git项目
     
    clone
    git clone <git address>  从远程克隆git 项目
     
    config
    git config --global user.email "you@example.com" 设置本地版本库的email
    git config --global user.name "Your Name" 设置本地版本库的name
     
    log
    显示git提交日志
    git log */test.txt 查看test.txt文件的版本历史记录
    git log --pretty=oneline 查看git提交日志,每条日志只显示一行
    git log -p 显示提交记录的具体内容
    git log -p -2 显示最近两次提交记录的具体内容
    git reflog 查看历史命令
    git log --graph 查看合并图
    git log --author='bonnie' 查找提交作者为bonnie的日志
     
    add
    git add <文件名> 将文件放从工作区放到版本库的暂存区(stage)
    git add . 将所有文件从工作区放到版本库的暂存区(stage)
     
    commit
    git commit -m "本次提交的说明"  把文件从暂存区提交到master分支
     
    diff
    git diff 比较的是工作区和暂存区的差别
    git diff --cached 比较的是暂存区和版本库的差别
    git diff HEAD 可以查看工作区和版本库的差别 
    git diff HEAD -- <文件名> 比较工作区的该文件和版本库中HEAD的区别
     
    reset
    git reset --hard <版本号,--hard参数:恢复HEAD索引,并且恢复工作区中提交之后的文件。
    git reset --hard HEAD^ 恢复到上一个版本
    git reset --hard HEAD^^ 恢复到上上个版本
    git reset HEAD <文件名> 将在暂存区的修改恢复到HEAD版本
     
    checkout
    切换分支或者恢复工作区
    $ git checkout master             (1)
    $ git checkout master~2 Makefile  (2)
    $ rm -f hello.c
    $ git checkout hello.c            (3)
    1. 切换分支到master

    2. 将Makefile恢复到前两个版本(这里说的版本是:每add一次产生一个版本)

    3. 不小心删除hello.c,恢复hello.c

    如果正好有个分支叫做hello.c,那么需要用  git checkout -- <文件名> 替换
    丢弃工作区所有文件的修改,用   git checkout -- * 
    git fetch 
    git checkout -b dev origin/dev  在本地创建分支dev并和远程dev建立关联
     
    rm
    git rm 文件名 删除工作区和暂存区的此文件
     
    branch
    git branch 查看当前分支
    git branch <分支名> 创建分支
    git branch -d <分支名> 删除分支
    git branch -D <分支名> 强行删除分支
    git checkout -b <分支名> 创建分支并指向当前的分支
    git merge <分支名> 合并分支到当前分支

    stash
    git stash “储藏”工作区的内容
    git stash list "储藏"的列表
    git stash pop 恢复stash的内容,并删除stash内容
    git stash apply 恢复stash的内容,不会删除stash内容
     
     
    pull

    从远程或者本地获取,并合并。

    合并当前分支到远程next分支:

    $ git pull origin next

    This leaves a copy of next temporarily in FETCH_HEAD, but does not update any remote-tracking branches. Using remote-tracking branches, the same can be done by invoking fetch and merge:

    $ git fetch origin
    $ git merge origin/next
     
    push
     git push --set-upstream origin next
    将当前分支推向远程next分支,如果next分支在远程不存在则创建该分支,推送完成后,本地当前分支会和远程next分支建立关联
     
    fetch
    $ git fetch origin

    拷贝远程refs/heads/ namespace,并存储到本地 refs/remotes/origin/ namespace

  • 相关阅读:
    转:Git: git stash 用法小结
    Checkbox: ListView 与CheckBox 触发事件冲突的问题
    android: getDimension, getDimensionPixelOffset 和getDimensionPixelSize 区别
    java: 保留两位小数4种方法
    java: 保留两位小数4种方法
    转:在eclipse中 使用7.0及以上手机进行测试时logcat不打印日志的解决办法
    转:Android文件存储路径getFilesDir()与getExternalFilesDir的区别
    Gradle-修改.gradle默认目录
    Windows: 打开关闭网络连接的方法
    dom4j: 生成XML时文本中回车换行无效
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/11212857.html
Copyright © 2011-2022 走看看