zoukankan      html  css  js  c++  java
  • Git命令

    Git是分布式版本控制系统

    Git创造者Linus,也是linux内核的设计者。

    生成git仓库

    git init

    把文件添加到git仓库

    git add filename

    把文件修改添加到暂存区(stage)。

    若要添加当前目录下所有文件

    git add .

    提交文件到仓库

    git commit -m "explain"

    -m参数为本次提交的说明。把暂存区的所有内容提交到当前分支(默认git会创建master分支)。

    查看仓库状态

    git status

    查看上次修改内容

    git diff filename

    查看修改历史记录

    git log

    显示从最近到最远的提交日志。--pretty=oneline可以将每次修改显示为一行。

    回退到上一版本

    git reset --hard HEAD^

    HEAD代表当前版本,HEAD^代表上一版本,上上版本HEAD^^,上10版本HEAD~10。

    回到未来版本

    git reset --hard 2354611

    2354611是commit id前几位,不必写全,也不能写太少,git能自动找到确定的一个版本就行。

    查看命令历史,可找到commit id

    git reflog

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

    git diff HEAD -- filename

    撤销工作区的修改

    git checkout -- filename

    两种情况:1.从修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态。2.已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    撤销暂存区修改

    git reset HEAD filename

    删除工作区文件

    rm filename

    删除版本库文件

    git rm filename
    git commit -m "remove filename"

    创建并切换分支

    git checkout -b test

    -b参数表示创建并切换。也可用下面2个命令:

    git branch test
    git checkout test

    查看当前分支

    git branch

    git branch命令会列出所有分支,当前分支前面会标一个*号。

    合并分支工作

    git merge test

    git merge命令用于合并指定分支到当前分支。

    删除分支

    git branch -d test

    查看分支合并图

    git log --graph --pretty=oneline --abbrev-commit

    禁用Fast forward模式,Git就会在merge时生成一个新的commit

    git merge --no-ff -m "merge with no-ff" test

    --no-ff参数,表示禁用Fast forward。

    保存现场,去修复bug

    git stash
    git stash list
    git stash apply    #恢复后stash内容不删除
    git stash pop       #恢复后stash内容删除
    git stash apply stash@{0}   #恢复指定stash

    查看远程库信息

    git remote

    加-v参数显示更详细信息。

    推送分支

    git push origin master

    推送master分支,也可修改为其他分支。

    在本地创建和远程分支对应的分支

    git checkout -b branch-name origin/branch-name

    建立本地分支和远程分支的关联

    git branch --set-upstream branch-name origin/branch-name

    从远程抓取分支

    git pull

    打标签

    git tag <name>

    查看所有标签

    git tag

    找到历史提交的commit id

    git log --pretty=oneline --abbrev-commit

    给对应commit id打标签

    git tag v0.9 commit id

    查看标签信息

    git show <tagname>

    创建带有说明的标签

    git tag -a v0.1 -m "version 0.1 released" commit id

    -a指定标签名,-m指定说明文字

    PGP签名标签

    git tag -s <tagname> -m "fffddd."

    删除标签

    git tag -d v0.1

    推送某个标签到远程

    git push origin <tagname>

    一次性推送全部尚未推送到远程的本地标签

    git push origin --tags

    删除远程标签

    git tag -d v0.1  #先删除本地标签
    git push origin :refs/tags/v0.1   #从远程删除

    配置别名

    git config --global alias.st status
    git config --global alias.co checkout
    git config --global alias.ci commit
    git config --global alias.br branch
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  • 相关阅读:
    cf Round #764(Div. 3)
    查看w3wp.exe 进程
    CAML语法 Query写法
    InfoPaht 复选框
    性能工具MiniProfiler在Asp.Net WebForm跟踪EntityFramework
    CAML基础语法
    Moss 本机无法访问(转)
    STSADM 不是内部或外部命令
    spBodyOnLoadFunctionNames
    关于代码调用SSP获取UserProfile出错的解决方案(转)
  • 原文地址:https://www.cnblogs.com/zeppelin/p/6012084.html
Copyright © 2011-2022 走看看