zoukankan      html  css  js  c++  java
  • Git的使用小结


    1. git是一种分布式版本控制工具。目前项目中比较常见的版本控制器有SVN、CVS等,这些版本控制工具属于集中式版本控制器。集中式版本控制器,有一个中央服务器,开发人员的开发机从主服务器上下载了项目,开发后提交到主服务器,这样的话,如果中央服务器崩溃了,会给整个开发造成不可挽回的影响.分布式版本控制器,是每个开发机都有一个完整的版本库,开发机之间互相传递版本内容.
    2. 安装:在window环境下使用git需要模拟linux系统环境,
    3. 安装完成后可执行文件有3个:

    - git bash
          仿Linux命令行(推荐使用)
    - git cmd
          windows命令行
    - git gui
         可视化窗口

    4.一些命令行的基本操命令
    - ls:查看信息;
    - ls -a:查看所有信息,含有字母d的是目录即文件夹,没有的即是文件;
    - pwd:显示当前所在目录;
    - cd:进入目录;
    - cd .. :退出当前目录;
    - /:根目录
    - 因为linux没有d,e,f盘,所以要进入这些盘,需要先退到根目录/,然后在cd e/f/d;
    - 如果目录名有空格,需要在名字外包裹引号:cd "Document and Settings";

    5.安装完成后,需要进一步设置用户名和email。因为git是分布式版本控制工具,因此需要每台开发机自报家门。

        $ git config --global user.name "gsf"
        $ git config --global user.email "gong-sf@163.com"
     --global表示将设置内容配置到全局,这样整个系统的用户都应用这个设置

    6.针对全新的项目
     - 先执行初始化: git init:执行完后,会在当前目录下生成一个.git的目录,该目录是**隐藏**的。这个目录不能轻易改动,里面保存着所有的git配置。可以通过ls -al查看隐藏文件
     - 查看文件有没有被修改的状态:git status,无论文件是否放入暂存区,只要git监控到文件增加、修改、删除,都可以使用该命令来查看。
      - 暂存库:临时存储;版本库:已经存在的,只是更新或修改删除;
     - 将新增加的文件加入暂存库:git add 文件名;
     - 可以用git status查看是否加入了暂存库;
     - 提交到版本库(必须加注释)git commit -m "comment";
     - git log 查看日志;

    7.已有文件的项目
    - git init
    - 有时需要忽略一些特殊文件,那就需要在项目根目录下创建个.gitignore文件,里面写需要忽略的文件,注意直接创建没有文件名的文件在window是不可行的,需要用记事本创建,另存为.gitignore,文件类型选ALL FILES,
    - 批量加入暂存库git add -A;
    - 有时,并未添加新文件,只是在已有文件做些修改删除,那么可以使用git commit -a -m "comments";
    - 如果删除文件有两种方法:
     - 现在工作区里删除,然后运行git commit -a -m "";
     - 直接运行git rm 文件名,然后commit;
     - 更改后,添加到暂存库前,可以用git diff 比较不同处;
    8.回退:
    - head是指向某版本的指针,git reset --hard head~1:上一个版本;
    - 如果要回退到指定的版本:git reset --hard +log中对应的id;
    - git log 按q退出;
    - 查看所有指令列表:git reglog:也可查到对应的id;

    9.冲突:
    - master是主分支;可以建很多副分支;
    - git checkout + 分支名:切换分支;
    - git checkout -b +分支名:创建新分支;
    - git branch:查看分支,其中带*的是当前所在分支;
    - 快速合并分支:git merge 分支名;(不显示合并过程);
    - 阻止快速合并分支:git merge --no-ff,如果忘记加入注释信息,可以按:q退出;
    - git branch -d 分支名:删除分支;
    - 如果两个分支同时改动,然后合并,就会有冲突,需要手动处理冲突,再提交;

    10.分支合并图:
    git log --graph --pretty=oneline --abbrev-commit;

    11.存储当前工作区()用户修复bug;
    - 主要是用户修改了文件,未提交,再去处理另一个文件的bug,那就先用git stash暂存当前现场,修复完后,用git stash list显示stash,用git stash pop恢复工作现场并删除stash;
    - git branch -D:强制删除分支,主要用于,该分支已经做过了更改,并未合并,就删除的情况,该命令少用,以防误删.

    12.别名设置:
    - 命令行配置:git config --global alias.s "status";
    - 在配置文件中设置:到用户的根目录(用cmd进入命令界面显示的那个目录)下找到.gitconfig文件,直接修改该文件内容也可以到达设置的效果。

  • 相关阅读:
    socket套接字通信和粘包问题
    TCP协议
    网络编程
    单例模式
    类的内置方法(魔法方法)
    反射(hasattr和getattr和setattr和delattr)
    isinstance与issubclass
    绑定方法与非绑定方法
    鸭子类型
    类的多态和抽象类
  • 原文地址:https://www.cnblogs.com/sapho/p/5005157.html
Copyright © 2011-2022 走看看