zoukankan      html  css  js  c++  java
  • git 基本命令介绍

    最近用上了git工具来协作开发,因此git一些基本的命令要学习,由于很多工具如果不用,过一段时间就会忘记,所以索性就记录下来,下次查找也方便的多。为什么要写呢?因为网络上的东西都是别人的,终究不是自己的,不自己做下总结,是没有收获的。下面有关git多是互联网搜索到的和git的帮助文档,不过这一篇介绍的简单,以后深入了,在给大家讲的更详细些。

      git环境的搭建这里就先不说。本篇主要是普通开发工作者在开发过程中所使用的命令。

      作给开发者,别人搭建git服务器之后,你呢就配置个人的客户端:

      git config --global user.name "yourname"
      git config --global user.email "xxxx@gmail.com"

      检出仓库

      git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6

      查看远程仓库:$ git remote -v


      查看本地分支:git branch

      查看远程分支:git branch -r

      删除本地分支:git branch -d branch_name

      选择分支:git check out branch_name

      创建本地分支:git branch branch_name (注意提交代码前一定要建立本地分支)

      

      拉取远程分支,并合并:git pull origin branch_remote:branch_local

      查看状态:git status

      查看详细修改:git diff

      添加/删除文件:git add/rm filename

      提交并添加信息:git commit -m  "your descriptions"

      查看历史日记:git  log

      本地分支推送:git push origin branch_local:branch_remote

      

      还要介绍下恢复撤销命令:

      git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息   :git reset

      git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可。比如返回到commit前(含有index信息,这也是跟-mixed的区别) :git reset --soft HEAD^     

      git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。如:git reset --hard HEAD^返回上一个版本

      git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值

      注:reset是指将当前head的内容重置,不会留任何痕迹。git reset --hard HEAD~3,会将最新的3次提交全部重置,就像没有提交过一样。根据--soft --mixed --hard,会对working tree和index和HEAD进行重置。revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。

      至于还有许多的内容没有说,比如git的配置,git(client-server)环境的搭配,各个命令的详细用法没有说,以后会慢慢写出来给大家分享,也欢迎高手指点。

      下面是网上找的别人的,我觉得写的不错,所以就复制了一部分 
      将 Current working directory 记为 工作目录(1)
      将 Index file 记为 暂存区(2)
      将 Git repository 记为 代码仓库(3) 


      他们之间的提交层次关系是 (1) -> (2) -> (3)
      git add完成的是(1) -> (2)
      git commit完成的是(2) -> (3)
      git commit -a两者的直接结合 




      从时间上看,可以认为(1)是最新的代码,(2)比较旧,(3)更旧
      按时间排序就是 (1) <- (2) <- (3)

      it diff得到的是从(2)到(1)的变化
      git diff –cached得到的是从(3)到(2)的变化
      git diff HEAD得到的是从(3)到(1)的变化

     
     
          git localremote
     
          git workintree
  • 相关阅读:
    JS入门(二)
    JavaScript中冒泡排序
    JS入门(一)
    页面的编写(二)
    页面的编写(一)
    编写页面之前的准备
    2019 ICPC徐州网络赛 K.Center
    2019 ICPC徐州网络赛 B.so easy(unordered_map)
    2018-2019 ICPC焦作区域赛B
    2019南昌ICPC网络赛 H.The Nth Item(矩阵快速幂+欧拉降幂+数学处理)
  • 原文地址:https://www.cnblogs.com/slider/p/2249010.html
Copyright © 2011-2022 走看看