zoukankan      html  css  js  c++  java
  • git常用命令(自己总结)



    1、撤销修改
    (1)git checkout -- a.txt
    修改了a.txt,但没有add,还没有添加到暂存区,状态为unstage,从版本区直接回复到工作区。
    (2)git reset HEAD a.txt
    修改了a.txt且add了,添加到了index区,状态为stage,必须先使用
    git reset HEAD a.txt,使状态为unstage,然后使用git checkout -- a.txt ,改变工作区的a.txt文件。
    (3)版本回退
       如果已经commit,则只能使用版本回退。
    git log --pretty=oneline
    git reset --hard HEAD^ (--hard :work,stage,head都回退。 --mixed(默认):stage,head --soft:head)
    HEAD:当前版本,HEAD^,上一个,HEAD^^:上2个,HEAD~100:上100个。
    单个文件浓缩说明:1.git add a.txt 保存修改到暂存区,2.git reset HEAD a.txt,单纯的Unstage作用,并不恢复work区的a.txt 3.暂存区为空,git checkout -- a.txt 从版本区回复a.txt
    2.创建并切换分支
    git checkout -b dev
    3.合并分支
    $ git checkout feature1 (切换到feature1,同时工作区文件也跟着变化)
    $ git merge feature1 (fast forward方式,简单的移动 master 的head)
    $ git merge --no-ff -m "merge with no-ff" dev   ( no fast forward方式,新建一个commit,并移动Head,保留dev的所有commit记录)
    squash方式:(把dev的commit变为master的新的stage,需要使用输入commit建立新的commit,通不记录dev的commit记录)
    (1)
    git merge --squash dev

    (2)git commit -m "master message here"
    (3)git checkout dev; git merge master;切记把master与Dev合并一下,否则再次merge --squash时,会报conflict错误。
    4.查看分支的合并情况
    git log --graph --pretty=oneline --abbrev-commit
    5.git commit -a 
    add所有文件,然后commit
    6.git diff --cached 对比stage和branch之间的差异
    git diff 对比work 和stage的差异
    7.从github下载项目,git clone
    先用自己账号登录,选择项目,clone ordownload--》clone with https-->复制web Url-->在git bash 中运行:
    git clone https://github.com/michaelliao/learn-javascript.git;然后显示下载进度。
    8.从本地上传到github,git push
    git push -u origin master(orgin是仓库名,master是分支名)
     

     

  • 相关阅读:
    php后门隐藏技巧
    给你的PHP大马添加后门(黑吃黑)
    分析 PHP大马-php_mof SHELL
    过WAF菜刀制作
    eval与php一句话的关系
    php一句话转发脚本(可能过狗= =)
    wmic与mimikatz技巧
    LPK后门
    grunt常用插件的使用
    jquery实现后台系统左侧菜单的点击展开/收缩二级菜单效果
  • 原文地址:https://www.cnblogs.com/shanwater/p/5657081.html
Copyright © 2011-2022 走看看