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

    git是一个用于帮助用户实现版本控制的软件。

    链接

    下载

    git命令

    git 的 reset 和 checkout 的区别

    在要管理的文件夹下面右击选择Git Bash Here

    git touch 1.py:创建一个新文件1.py

    git init:让git帮我们把该目录下文件夹管理起来

     

     会在当前文件夹下面生成一个.git文件(打开隐藏文件夹可查看),以后版本里所有的东西都会放到这个文件夹里

     git status:查看当前目录下所有文件的状态

     

     红色的表示是git管理的目录下的文件还没有被管控

    git add manage.py:对指定文件进行版本控制

     

     发现这个文件变绿了,代表这个文件被管上了

    git add .:对指定文件夹下的所有文件及子目录进行版本控制

    git commit -m ‘创建第一个版本’:‘这里面添加详细的描述信息’     创建一个提交记录(版本) 

     此时报了一个错:

    需要执行两条命令: 

      

     然后再执行git commit -m ‘创建第一个版本’命令就能创建了

     

     上面操作就生成了一个版本

    再查看git status里面就没有东西了,表示把目录下的所有文件都管理起来了,文件变透明了

    如果目录下文件有变动,可以执行git add .   git commit -m '增加mm'这就生成了第二个版本

     

     git log:查看提交版本记录

     

     git reset --hard e117c32fd69ed824a92e6c3469eccefd144dc68f 回到某一个版本的状态

     git reflog可以查看历史生成的所有版本,然后可以通过git reset --hard  xxxx,回到某一个版本的状态 

     git checkout:用于切换分支或恢复工作树文件

    开发直播功能,开发过程中临时需要修复bug或临时新功能到来。

    方式一:

    git stash 
    git stash pop 
    
    git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
    git stash list 查看“某个地方”存储的所有记录
    git stash clear 清空“某个地方”
    git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
    git stash apply 编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 
    git stash drop 编号,删除指定编号的记录

    git stash作用,帮助我们暂时存储已经开发一些功能的代码,继续做其他事情,做完之后,再回来继续开发
    方式二:

    git branch         #列出分支
    git branch dev     #创建分支  
    git branch bug       #创建分支 
    git branch -d bug   #删除分支 
    git checkout dev    #切换分支
    git merge bug        #合并分支 

    面试题:如果代码出现bug,你们是如何解决?

    创建一个bug分支,然后进行bug处理,处理完毕后,合并到master分支。
    删除bug分支
    回到dev分支继续开发。

    如果要往返两地办公(家和公司)

    git fetch/pull详解

    #在家办公结束之后:
    git remote add origin https://github.com/WuPeiqi/pondo.git   # 添加一个地址,为地址起一个别名origin
    git push origin dev  # 将本地dev分支内容以及版本信息推送到GitHub
    
    #去公司办公的时候:        
    git clone https://github.com/WuPeiqi/dbhot.git   # 将项目从GitHub中获取
    git pull origin dev  #将dev分支内容从GitHub中拉下来后直接合并,本条命令相当于以下两条命令
        git fetch origin dev  #将dev分支内容拉到本地
        git merge origin/dev   #将拉取下来的最新内容合并到当前所在的分支中   
       # git merge会出现分叉,如果不想出现分叉可以把merge改为rebase 如:  git rebase origin/dev 

    面试题:git rebase的作用?

     保持提交记录的整洁。
     情景:如果我们在公司写代码忘记提交,回家继续开发其它功能了,第二天到公司拉代码的时候如果
           我们用git pull或者git fetch + git merge 会出现一个分叉的记录,如果想保持提交记录的整洁
           可以通过git fetch + git rebase 这样就没有分叉记录了
  • 相关阅读:
    Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
    OpenCV Mat 只能用静态数组定义时初始化,动态数组赋值给Mat需要逐元素进行. MATLAB,OpenCV,VS混合编程
    【转】Ubuntu 10.10升级显卡驱动后开机动画低分辨率问题
    linux 文件[名]编码
    L337 Speak及国外论坛、IRC常用缩写
    UCS2 手机SMS的PDU编码
    setuid
    【转】CentOS5.5硬盘安装
    SWT CTabFolder 简记
    [转] 程序员的十层楼
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13172596.html
Copyright © 2011-2022 走看看