zoukankan      html  css  js  c++  java
  • 常用的一些git命令整合

    一.创建一个版本库
    1.mkdir xxx
    2.git init 使用git init命令将这个目录变成Git可以管理的仓库
    这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区(state/index)和分支管理库(master/dev..)),除了.git目录其它是工作区。

    二.添加文件并提交
    1.git add xxx 将这个文件添加到暂存区
    2.git commit 将暂存区文件提交到本地仓库
    -m "注释" 是本次提交的说明信息,用来注释本次操作


    三.管理文件修改
    1.差异比较:git diff -- xxx 可以查看工作区和版本库里面最新版本的区别
    2.查看状态,提交修改: git status命令查看当前工作区的状态
    3.日志查看: git log 可以查看历史每次提交信息
       --pretty=oneline看日志加这个参数可以精简许多
    4.查看日志的时候,有一个HEAD->master 表明的是HEAD这个指针标记当前master分支的当前版本所在的位置。
    5.版本回退:git reset --hard HEAD^ 表示回退到上一个版本
      git reset --hard HEAD {commit id} 通过git reflog找到对应的commit id来用这个回退对应版本
    6.暂存区撤销修改:git reset HEAD <fiel> 来撤销缓存修改。意思是回退到当前版本及暂存区干净。
    7.工作区撤销修改:git checkout -- <file> 来撤销当前文件的修改,即工作区的文件内容不变是干净的。
    8.全局配置: git config --global
      别名配置: git config --global alias.别名 "真实名字"
      给复杂的git log --pretty=onelog取个别名git lg并且给添加一点颜色:
      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"
    9.关联远程仓库:git remote add origin ssh://git@192.168.50.33:10022/zhanghuyi/hello-git.git
      第一次推送本地仓库到远程仓库的master分支:git push -u origin master
      第二次推送本地仓库到远程仓库的master分支:git push origin master
    10.克隆远程仓库:就是把远程仓库的复制一份到本地,克隆后会创建一个新的本地仓库:git clone ssh://git@...git
    11.再本地拉取最新的代码:git pull

    四.分支的创建和合并
    1.创建分支: git checkout -b 分支名 这样就创建好一个新的分支并HEAD切换到分支了。
      可以分解成(git branch 分支名)#创建分支 和 (git checkout 分支名) 切换到具体的分支
    2.合并分支:git checkout master切换回master分支
      然后git merge dev命令将 dev分支的修改合并到master分支
    3.删除分支:使用git branch -d 分支名来删除指定分支,注意:要删除一个未合并的分支。需要使用-D参数进行强制删除
    4.冲突解决:git log --graph --pretty=oneline --abbrev-commit命令来查看解决冲突完的干净工作区了

    五.保存工作区状态
    1.git stash 快照当前的状态,现在去解决更紧急的bug,等下来开发这个dev.
    2.然后切换到master去修复bug,修复完成后回到dev去
    3.工作区是干净的,之前的修改哪去了查看: git stash list命令查看
    4.工作现场还在,git把stash内存存在某个地方,但是需要恢复一下,有两个办法:(一般采用2)
      1) 方式1:用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
      2) 方式2:用git stash pop,恢复的同时把stash内容也删了:
      3) 注意,以上指令都可以在后面紧跟 stash的序号,来操作指定stash,例如: git stash apply stash@{0}

  • 相关阅读:
    java 的 CopyOnWriteArrayList类
    AtomicInteger类的简单应用
    关于java的关键字 transient
    关于ArrayList的一些源码分析
    Eclipse新建java类的时候,自动创建注释
    关于spring-data-jpa的排序问题
    hibernate CascadeType属性
    springBoot框架不同环境读取不同的配置文件
    你迷茫的原因在于读书太少而想的太多!!!
    学历是铜牌,能力是银牌,人脉是金牌,思维是王牌
  • 原文地址:https://www.cnblogs.com/jike1219/p/11032928.html
Copyright © 2011-2022 走看看