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

    1.在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
    git init
    2.添加当前目录中的所有文件到索引,或者git add <file>
    git add .
    3.提交到本地源码库,并附加提交注释
    git commit -m "first commit"
    小结,现在总结一下:
    4.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
    git reset --hard commit_id
    5.穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    $ git log;$ git log --pretty=oneline
    6.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
    git reflog
    7.查看工作区的文件状态,从来没有被添加过,它的状态是Untracked
    git status
    8.每次修改,如果不用git add到暂存区,那就不会加入到commit中。
    9.把readme.txt文件在工作区的修改全部撤销,命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
    git checkout -- readme.txt
    小结
    10.场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令。
    git checkout -- file
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
    11.把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库
    git remote add origin git@github.com:michaelliao/learngit.git
    12.把本地库的内容推送到远程,由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    git push -u origin master
    13.把本地master分支的最新修改推送至GitHub
    git push origin master
    小结
    14.要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
    15.远程库已经准备好了,下一步是用命令git clone克隆一个本地库
    git clone git@github.com:michaelliao/gitskills.git
    小结
    16.查看分支:git branch
    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>
    17.推送分支,就是把该分支上的所有本地提交推送到远程库。
    git push origin master
    18.在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
    git checkout -b dev origin/dev
    就可以在dev上继续修改,然后,时不时地把dev分支push到远程:
    git add env.txt
    git commit -m "add env"
    git push origin dev
    19.推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:
    git pull
    git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:
    git branch --set-upstream-to=origin/dev dev
    20.因此,多人协作的
    首先,可以试图用git push origin <branch-name>推送自己的修改;
    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    如果合并有冲突,则解决冲突,并在本地提交;
    没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
    21.Git撤销一次分支的合并Merge
    git merge --abort
    22.合并时遇到冲突想取消操作,恢复index,用git merge --abort
    git reset --hard 可以回退到某个提交
    git revert可以撤销某个提交,撤销会产生一个新的提交
    23.Git退回哪个版本
    用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
    git reset --hard HEAD~数字

  • 相关阅读:
    MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
    最简单的mybatis增删改查样例
    JAVA地址栏重写很详细
    rapid-generator JAVA代码生成器
    PouchDB:可随时同步的开源JavaScript数据库
    写给java web一年左右工作经验的人
    使用 XMLBeans 进行编程
    使用Spring JMS轻松实现异步消息传递
    Spring JMSTemplate 与 JMS 原生API比较
    浅析深究什么是中间件
  • 原文地址:https://www.cnblogs.com/PengChengLi/p/9351013.html
Copyright © 2011-2022 走看看