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

    python常用命令

      1 #配置git
      2 git config --global user.name "K-John"
      3 git config --global user.email "19941222hb@gmail.com"
      4 
      5 #初始化 git workspace(就是你当前所在的目录)
      6 git init
      7 
      8 #将当前工作区的文件加到暂存区,实际上是将文件的改动加到暂存区
      9 git add README
     10 
     11 #将暂存区的内容添加到当前分支所对应的分支的版本库中(git的仓库)
     12 git commit -m "desriptions"
     13 
     14 #查看仓库当前的状态
     15 git status
     16 
     17 #修改某一文件,但是没有添加到缓冲区,此时可以用git diff 查看修改前和未修改前的区别
     18 git diff README
     19 git diff HEAD -- README #查看版本库中最新版本文件与工作区文件的区别
     20 
     21 #查看每一次commit的详情
     22 git log [--pretty=oneline]
     23 
     24 #回退到上一次commit
     25 git reset  --hard HEAD^
     26 #回退到上上一次commit(没回退一次相应的commit详情都会自动消失)
     27 #HEAD 相当于一个指针,总是指向当前的分支的指针(分支名代表一个分支的指针),而当前分支指针指向commit,(HEAD-->分支指针--->commit) 改变HEAD就相当于改变>    分支指针 所指向的commit,这样就可以在不同commit之间切换,每次提交分支指针都会向前移动一步
     28 git reset --hard HEAD^^
     29 
     30 #查看当前每一次对commit的操作,用于回到未来某一版本时查看commit id
     31 git reflog
     32 #回退到历史版本,又想要回到未来某一版本
     33 git  reset --hard 3628164(这一串数字为commit id的前几位数字,这样就不用将整个commit id写出来,通过git reflog查看未来的commit id)
     34 
     35 #撤销工作区内对文件的修改(前提是在你没有将文件添加到暂存区)
     36 git checkout -- README
     37#撤销暂存区的修改,并重新将修改放回工作区
     39 git reset HEAD  README
     40 
     41 #从版本库中删除某一文件
     42 git rm LICENSE
     43 git commit -m "deleted LICENSE"
     44 
     45 #从版本库中恢复已经删除的文件,只需要回到以前的版本
     46 #创建ssh key
     47 ssh-keygen -t rsa -C "19941222hb@gmail.com"
     48 
     49 #将本地仓库关联到github的远程仓库(前提是已经将你电脑的ssh key添加到github的SSH key列表)
     50 git remote add origin git@github.com:free-free/algorithm.git   #origin 为远程仓库的叫法(只是为了方面操作),也可以自己取名;free-free为github账号名;a    lgorithm为你想要关 联的仓库,必须现在现在github上创建
     51 
     52 #将本地版本库推送到远程github库
     53 git push -u origin master # -u 参数 Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来 
     54 
     55 #推送非主分支到到远程库,github会自动建立一个dev分支与你本地的dev分支对应
     56 git push origin dev
     57 
     58 #将远程的仓库克隆到本地
     59 git clone git@github.com:free/algorithm.git
     60 
     61 #git创建一个分支只需要重新创建一个分支指针,并且将该分支指针指向创建时所对应的commit,分支间切换就只需要让HEAD指向另一分支指针,分支切换后对文件的修>    改就指向该分支了
     62 
     63 #创建分支,并且切换到分支
     64 git checkout -b dev #相当于 git branch dev git checkout dev
     65 
     66 #切换到指定分支
     67 git checkout dev
     68 
     69 #查看分支数
     70 git branch
     71 
     70#创建新分支
     73 
     74 git branch dev
     75 
     76 #删除分支
     77 git branch -d dev
     78 
     79 #强制删除一个没有合并的分支
     80 git branch -D dev
     81 #合并指定分支到当前分支(假设当前出master分支,则下面指令将dev分支合并到master分支)
     82 git merge dev #需要自己解决合并冲突
     83 
     84 
     85 #合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个
        新的commit,这样,从分支历史上就可以看出分支信息。--no-ff(禁用Fast forward mode)方式的git merge
     86 
     87 git merge --no-ff -m "merge dev into master"  dev
     88 
     89 #假设你在dev分支上工作,突然需要跳到bug分支去修复bug,但是你当前的工作区的工作还没#完成,但是你又不想要提交修改,这是你可以通过以前命令将当前工作保存>    起来,然后切换到其他bug分支去修复bug,
     90 git stash
     91 
     92 #当你把bug修复完之后,切换到刚才工作的分支,这是可以通过命令去恢复刚才没有提交的工作区
     93 
     94 git stash list #查看所有的stash
     95 git stash apply #恢复刚才未提交的工作, 但是没有将stash删除,这是需要通过以下命令将stash 的内容删除
     96 git stash drop
     97 
     98 git stash pop #恢复stash的内容,并且删除stash的内容,相当于git stash apply,git stash drop
     99 
    100 #查看远程库的信息
    101 git remote
    102 git remote -v #更详细
    103 
    104 #新建分支并将远程仓库某一个分支克隆到当前分支
    105 git checkout -b dev origin/dev
    106 
    107 #当远程仓库最新的提交与试图推送的提交有矛盾的时候,用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,commit 之后,再推送
    108 
    109 git pull
    110 
    111 #如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用以下命令解决
    112 
    113 git branch --set-upstream branch-name orgin/branch-name
    114 
    115 #为当前的版本打一个标签(标签其实也是一个指向commit指针,但是它不能改变),默认是为最新的commit打标签
    116 git tag v1.0
    117 git tag v1.1  6224937(commit id) #为某一次commit打标签
    118 git tag -a v1.2 -m 'version 1.2 released' 3628164 #创建带说明的标签
    119 #查看所有标签(标签不是按时间顺序列出而是按字母顺序列出)
    120 git tag
    121 
    122 #显示某一标签对应的详细信息
    123 git show v1.0
    124 
    125 #删除某一标签
    126 
    127 git tag -d v1.0
    128 
    129 #推送某个标签到远程仓库
    130 git push origin v1.0
    131 
    132 #一次性推送全部尚未推送远程的本地标签
    133 git push origin --tags
    134 
    135 #删除远程的标签
    136 
    137 git push origin :refs/tags/v0.9
    
    
  • 相关阅读:
    Oracle sql优化
    Oracle解决锁表语句与批量生成解锁语句
    使用Spring Task轻松完成定时任务
    oralce数据表空间满了
    关于出现 org.apache.commons.lang.exception.NestableRuntimeException的解决方法
    linux根分区满了如何处理,查找大文件方法
    bt协议详解 基础篇(上)
    如何做一个开心的程序员
    程序猿是如何解决SQLServer占CPU100%的
    SqlServer索引的原理与应用
  • 原文地址:https://www.cnblogs.com/whereareyoufrom/p/5065265.html
Copyright © 2011-2022 走看看