• git实用手册


    git.exe clone --progress -v "git@code.sohuno.com:huimingtao/focus-wap.git" "D:workspace1focus-wap"

    git.exe checkout -b pad remotes/origin/pad

    git remote show origin
    查看名称为origin的远程仓库的详细信息

    git init
    初始化一个git项目

    git remote add origin git@code.sohuno.com:rogantian/git-test.git
    添加一个叫origin的远程仓库

    git push -u origin master
    将本地仓库的master分支推送到名为origin的远程仓库上去。-u表示绑定本地的master和origin上的master分支,下次再在本地的master分支上pull或push的时候可以直接使用git pull 或 git push

    git checkout -- src/main/webapp/views/pad/filterBuilding.jsp
    放弃本地修改的filterBuilding.jsp文件,从暂存区检出这个文件,如果filterBuilding.jsp没有与分支名冲突的话,使用git checkout src/main/webapp/views/pad/filterBuilding.jsp也可以
    (该方式可以在本地不小心修改了或者删除了某个文件,并且尚未添加到暂存区时用来恢复这些文件)

    git reset HEAD -- README
    如果README这个文件修改了之后add到了暂存区,可以使用该命令将其从暂存区取出,状态变为修改状态,然后可以结合上一个checkout命令将之恢复到修改之前的状态
    reset实际上是从仓库中恢复到暂存区

    git checkout HEAD --file
    将当前工作区的file文件回滚到最后一次提交,并保存到暂存区,比如git checkout HEAD~ --file将file回滚到最后一次提交的父提交并暂存,如果没有指定提交节点,则从暂存区回滚(即上上一条命令)

    git log master ^origin/master
    可以查看远程分支master上有但本地有,但远程分支没有的提交(即可以查看没有push到远程的commit有哪些)

    git log origin/master ^master
    同上一条,可以查看远程有,但本地没有的提交

    git commit -am "test test"
    将当前工作区中已经跟踪文件的修改和删除添加到暂存区并且提交(即包括add和commit),但是不会影响到新建的文件

    git log -p
    列出详细区别(generate patch,包括增加了那一行,删除了哪一行)

    git log --stat
    列出次一级别的详细区别(只列出某个文件总共增加了多少行,删除了多少行等)
    git log -2
    仅列出最近两次的提交

    git log --pretty=oneline
    以简洁的格式显示日志,有oneline,short,full,fuller,format等

    git log --graph
    会显示简单图形

    git diff
    比较暂存区和工作区

    git diff HEAD
    比较最近一次提交和工作区

    git diff maint
    比较maint分支和当前工作区

    git diff da895 b325c
    在两个提交点之间比较

    git diff --cached
    比较最近提交和暂存区

    git diff <branch1> <branch2>
    在两个分支之间比较

    git status -s
    -s表示give the output in the short-format 其中绿色表示在暂存区没有提交的文件,红色表示修改了而没有添加到暂存区的文件


    ==============查看、切换、创建和删除分支=================
    git checkout -b <newbranch>
    新建一个名为newbranch的分支,然后切换到该分支,同git branch newbranch git checkout newbranch这两个命令分别执行时的效果一样

    git checkout -b <newbranch> <oldbranch>
    基于oldbranch创建新的newbranch

    git checkout $id
    把某次历史提交记录checkout出来,但无分支信息,切换到其它分支会自动删除,此时可以使用git checkout -b <newbranch>就可以在这个提交点上创建分支了,同下面这个命令

    git checkout $id -b <newbranch>
    把某次提交记录checkout出来,创建成一个分支

    git branch --list
    查看本地的分支情况,同没有参数的git branch命令效果一样,可以使用pattern来过滤

    git branch -r
    显示远程分支情况 可以使用pattern过滤

    git branch -a
    包含--list和-r的效果,可以使用pattern过滤

    git branch -d branchname
    删除名为branchname的分支

    git branch -D <branchname>
    强制删除某个分支(未被合并的分支被删除的时候需要强制)

    git push origin :<branchName>
    删除远程分支,这是gitV1.7.0之前的版本

    git push origin --delete <branchName>
    新版git删除远程分支

    git branch -v
    查看各个分支最后的提交信息

    git branch --merged
    查看已经被合并到当前分支的分支

    git branch --no-merged
    查看尚未合并到当前分支的分支

    ================标签==========================
    git tag
    列出所有标签

    git tag -l <pattern>
    列出所有标签,并且可以使用匹配,-l是--list的缩写

    git tag <tagname>
    新建一个轻量级的tag

    git -a <tagname>
    新建一个含附注的标签

    git -a <tagname> $id
    在某次提交上加标签

    git push origin <tagname>
    将某个标签推送到远程仓库

    git push origin --tags
    一次性推送本地所有标签到远程仓库

    git tag -d <tagname>
    删除本地标签


    git push origin :refs/tags/<tagname>
    删除远程标签,这种方法是在v1.7.0

    git push origin --delete tag <tagname>
    新版git里删除远程分支的方法

    git config --global mergetool.keepBackup false
    为了在使用mergetool时不再生成烦人的.orig备份文件


    ===============远程仓库===================
    git remote show <name>
    查看名为name的远程仓库信息

    git remote prune <name>
    删除所有与远程仓库name相关,已经在name里被删除但是本地仍然保留的分支(ie. git remote prune origin)


    git cherry-pick <commit id>
    把commit从一个分支copy到另一分支

    git branch --set-upstream master origin/master
    远程分支拷贝本地

  • 相关阅读:
    php7安装Memcached扩展
    php7安装
    结束进程
    openssl 编译
    boost 编译
    php 与 c++ openssl 加密通信
    iptables 端口转发
    获取进程及父进程的两种方式
    windows 下获取父进程pid
    CentOS 64位系统 yum安装32位软件包的方法
  • 原文地址:https://www.cnblogs.com/maoxiaolv/p/5844717.html
Copyright © 2020-2023  润新知