1、创建新仓库:git init

  • 创建新文件夹,打开
  • 执行:git init ,创建新的git仓库

2、检出仓库:git clone

  • 执行该命令,以创建一个本地仓库的克隆版本:git clone /path/to/repository
  • 如果是远端服务器上的仓库,则执行:git clone username@host:/path/to/repository

3、git的世界观

你的本地仓库由git维护的三棵“树”组成,是 Git 的核心框架。

第一个是你的工作目录,它持有实际文件,你平时存放项目代码的地方;

第二个是缓存区(Index),用来临时保存你的改动

最后是HEAD,指向你最近一次提交的结果。

4、git代码的添加和提交

  • 1、先计划改动相关代码,即将代码添加到缓存区:

1)部分文件:git add ;

2)全部文件: git add *

  • 2、实际提交改动至HEAD区git commit -m “代码提交备注信息”

此时,你的改动已经提交到HEAD,但是还没到你的远端仓库

  • 3、推送改动提交至远端仓库git push origin master

可以把master换成你想要推送的任何分支

PS:如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用该命令添加:git remote add origin

如此你就能够将你的改动推送到所添加的服务器上去了。

5、分支的概念

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master是“默认的”。在其他分支上进行开发,完成后再将他们合并到主分支上。

  • 创建一个叫做“feature_x”的分支,并切换过去:git checkout -bfeature_x
  • 切换回主分支:git checkout master
  • 把新建的分支删掉:git branch -dfeature_x
  • 除非你将分支推送到远端仓库,不然该分支就是“不为他人所见的”:git push origin

6、更新与合并

  • 要更新你的本地仓库至最新改动(以在你的工作目录中获取(fetch)并合并(merge)远端的改动),命令:git pull
  • 要合并其他分支到你的当前分支(例如master),命令:git merge
  • 在合并改动之前,也可以使用该命令查看是否有不一致:git diff

PS:以上两种情况下,git都会尝试去自动合并改动。但有可能出现冲突(conflicts),需要修改这些文件来手动合并这些冲突。改完之后,需要执行如下命令以将他们标记为合并成功:git add

7、替换本地改动

1)使用如下命令替换掉本地改动:git checkout —

它会将HEAD中的最新内容替换掉你的工作目录中的文件,已添加至缓存区的改动,以及新文件,都不受影响;

2)如果你想要丢弃所有的本地改动和提交,可以到服务器上获取最新的版本并将你本地主分支指向它:git fetch origin

git reset –hard origin/master

有用的tips:

1)内建的图形化git: gitk

2)彩色的git输出:git config color.ui true

3)显示历史记录时,只显示一行注释信息:git config format.pretty oneline

4)交互地添加文件至缓存区:git add -i