git 基本命令

一、工作流

  本地仓库的git维护由三个状态

 git 基本命令

 

 

 

二、基本命令

1、创建新仓库

  创建新的文件夹,打开,然后执行 git init 以创建新的仓库。

  此命令初始化一个新本地仓库,它在工作目录下生成一个.git隐藏文件夹

  git init git-demo-A    初始化一个A仓库

  git 基本命令

 

 

   config//文件- 包含一些配置选项

  objects//目录- 存储所有Git的数据对象

  HEAD//文件- 指定当前分支

  info //目录- 存放项目信息,默认包含一个全局exclude文件, 用来放置不希望记录在.gitignore 中的忽略模式

  description//文件- 仅供GitWeb 程序使用

  hooks //目录- 存放可在某些指令前后触发运行的钩子脚本(hook scripts),默认包含一些脚本样例

  refs//目录- 存储各个分支指向的目标提交

  branches //目录- 还没发现有什么用处

  其中有四个条目很重要:HEAD 文件、(尚未创建的)index 文件,和 objects 目录、refs 目录。这些条目是Git 的核心组成部分。

 

2、检出仓库

  从远端检出:git clone ssh://……或者http://

  创建一个本地仓库的克隆版本:git clone /path/to/repository

 

3、添加/更改 文件到暂存区

  git add <filename>

  git 基本命令

 

 

 

4、实际提交改动

  git commit -m “提交代码。。。”

  现在你代码的改动已经提交到了HEAD,但是还没有提交的远端仓库。

 

5、推送改动到远端

  git push origin master  可以把 master换成你想推送的任何分支。

  

三、分支

  分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。

  在其他分支上进行开发,完成后再将它们合并到主分支上。

  git 基本命令

 

   创建一个feature_x 的分支,并切换过去:git checkout -b feature_x

  切换回主分支:git checkout master

  再把新建的分支删掉:git branch -d feature_x

  除非你将分支推送到远端仓库,不然该分支就是不为他人所见的:git push origin <branch>

 

四、更新与合并

  要更新你本地仓库至最新改动,执行:git pull

  以你的工作目录中 获取(fetch)并合并(merge)远端的改动。

  要合并其他分支到到你当前分支(如master),执行:git merge <branch>

在这两种情况下,git都会尝试去自动合并改动。但是并非每次都成功,可能会出现冲突(conflicts)。

这时候需要修改这些文件,手动合并这些冲突。改完之后,你要再次执行:git add <filename>

  在合并改动之前,可以使用以下命令预览差异:git diff <source_branch> <target_branch>

 

五、替换本地改动

  假如你操作失误,可以用远端替换掉本地改动:git checkout --<filename>

此命令会使用HEAD中最新内容替换掉你工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

  假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:

  git fetch origin

  git reset --hard origin/master

 

 开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支

  • git checkout dev
  • git pull
  • git checkout master
  • git merge dev
  • git push -u origin master

当master代码改动了,需要更新开发分支(dev)上的代码

  1. git checkout master 
  2. git pull 
  3. git checkout dev
  4. git merge master 
  5. git push -u origin dev

  

上一篇:git分支切换和合并


下一篇:Git 从master拉取代码创建新分支 并且再将修改合并到master