git 根本使用

git 基本使用

  简单几步操作让你在终端下用git实现文件的上传。

一、克隆项目
    在工作中,常见的情景都是远程库已经建好了,需要大家把代码拉下来,共同协作开发。本文所有操作均在终端下进行。
    //克隆一个本地库
    git clone 你的远程仓库地址   

二、本地库的操作
   //添加修改
    1、git add 修改的文件名
     //提交修改内容
    2、git commit -m "修改备注"

三、把修改的内容提交到远程库
    //第一次推送,加上-u参数,以后推送可省略
     git push -u origin master   

就这简单几步,就能实现你的代码上传到远程仓库啦。如果你还有其他更多需求,可以继续往下看。

 
四、其他经常用到的操作
  1、基本操作     

  //用Xcode打开文件
     open -a Xcode 文件名  

     //随时掌握工作区的状态
     git status

    //查看文件的修改内容
    git diff  文件名

  2、版本管理
    //版本回退到上一个版本,HEAD表示最新版本
    git reset --hard HEAD^

    //版本回退到上上一个版本
    git reset --hard HEAD^^

    //查看提交历史,可以看到不同版本的commit_id
    git log   //出来的信息较全较多,下面的命令出来的简略点
    git log --pretty=oneline   

    //查看命令历史,以便确定回到未来的哪个版本
    git reflog   

    //版本回退到指定版本,commit_id
    git reset --hard commit_id  

 3、修改和删除操作
    //可以丢弃工作区的修改,-- 很重要,不能少,否则会变成“切换到另一个分支”
    git checkout -- 文件名   

   //把暂存区的修改撤销掉,重新放回工作区
    git reset HEAD 文件名   

    //删除文件
    git rm 文件名   

  4、分支管理
    git 推荐使用分支完成某个任务,合并后再删掉分支。这样过程更安全
     1)创建并切换到分支,-b 表示创建并切换
        git checkout -b 分支名字
        等于两条命令: git branch 分支名字     //创建分支
                    git checkout 分支名字     //切换到分支   

    2)列出所有分支,当前分支前面会标一个*号
        git branch

    3)在分支上进行修改等操作
        git add 文件名
        git commit -m "修改备注"

     4)分支工作完成,切换回master分支,把分支工作成果合并到master分支上,然后删除分支
       git checkout master
       git merge 分支名字
       git branch -d 分支名字      

        合并分支时,git会优先用Fast forward模式,这种模式下,删除分支后,会丢掉分支信息。
       强制禁用Fast forward模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
        //--no-ff参数,表示禁用Fast forward
       git merge --no-ff -m "merge with no-ff" 分支名字

     5)发生冲突的话需要手动进行修改,在提交合并
      //可以看到分支合并图
      git log --graph
   
    在实际开发中,我们应该按照几个基本原则进行分支管理:
  1、master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活
    2、那在哪干活呢?干活都在自己建的分支上
    3、你和你的小伙伴们每个人都有自己的分支,时不时地往分支上合并就可以了