git

常用命令:

  git status #命令查看当前git仓库的状态

  git diff 文件 #查看文件修改的内容

  ......

配置git:

$ git config --global user.name "username"

$ git config --global user.email "email"

获得一个Git仓库

1.Clone一个仓库

  git clone <git地址>

2.初始化一个新的仓库

  git init

正常的工作流程

git的基本流程如下:

  1. 创建或修改文件
  2. 使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
  3. 使用git commit命令提交到本地代码库
  4. (可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库 

      git push origin master

 

代码回滚

  git log 查看所有提交过的版本

  git reset --hard HEAD^ #回滚到上一个版本 HEAD^^ 就是上俩个版本

  git reset --hard ID # 回滚的ID指定版本

  git reflog #每次操作的记录

撤销修改

      git add . # 之后对某个文件修改了

  git checkout -- 文件 #这样就撤销了修改的地方了

  

删除文件

  在提交后的版本中

  rm 文件

  这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

  现在你有两个选择:

    一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit

    另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本,git checkout -- 文件

分支

  

  当前在master中

  git branch 分支名   # 创建一个分支

  git checkout 分支名   # 切换到该分支

  git branch     #查看当前分支

  对改分支的文件编辑修改

  git checkout master

  git pull       # master分支有可能被修改过,要pull最新的

  git merge 分支名  # 将该分支的代码合并到master分支中

    注意这里可能出现俩种情况:

    一种是直接帮你把内容合并

    还有一种情况,master分支已经被修改,合并时候提示冲突,需要手动合并

    Git用<<<<<<<=======>>>>>>>标记出不同分支的内容:

    <<<<<< 是master的代码

    ====== 分割线

    >>>>>> 是分支的代码

  完成后 add ,commit ,push

  # git branch -d 分支名 # 删除

  分支策略

    在实际开发中,我们应该按照几个基本原则进行分支管理:

    首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

    那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

    你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

    所以,团队合作的分支看起来就像这样:

    dev就相当于一个测试分支,稳定了在往master上发。

    

处理bug

  现在在自己分支的上开发代码,但是来了一个bug要去其它分支修改,这时候你的代码没有提交是不能切换的。

  所以要使用stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。

  git stash  # 临时保存

  现在就可以切换到有bug的分支了;

  git checkout dev1  # 切换到dev1 bug分支中

  git checkout -b issue-1 # 创建一个issue分支,并切换

    修改bug...

  git add . 

  git commit -m 'commit issue-1.1'

  git ckeckout dev1

  git merge issue-1  # 合并

  git branch -d issue-1  # 删除issue 分支

  完成bug后,回到自己的分支

  git checkout 分支 

  git status  #查看一下状态,是空的工作区

  git stash list  # stash 列表

  git stash pop  # 删除stash,并恢复,也可以先git stash apply 恢复,再 git stash drop来删除。

忽略特殊文件.gitignore

  https://github.com/github/gitignore

  已经有现成的,也可以自己加,自定义

原文地址:https://www.cnblogs.com/wangyufu/p/7049788.html