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 <filename>;
2)全部文件: git add *
- 2、实际提交改动至HEAD区:git commit -m “代码提交备注信息”
此时,你的改动已经提交到HEAD,但是还没到你的远端仓库
- 3、推送改动提交至远端仓库:git push origin master
可以把master换成你想要推送的任何分支
PS:如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用该命令添加:git remote add origin <server>
如此你就能够将你的改动推送到所添加的服务器上去了。
5、分支的概念
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master是“默认的”。在其他分支上进行开发,完成后再将他们合并到主分支上。
- 创建一个叫做“feature_x”的分支,并切换过去:git checkout -b feature_x
- 切换回主分支:git checkout master
- 把新建的分支删掉:git branch -d feature_x
- 除非你将分支推送到远端仓库,不然该分支就是“不为他人所见的”:git push origin <branch>
6、更新与合并
- 要更新你的本地仓库至最新改动(以在你的工作目录中获取(fetch)并合并(merge)远端的改动),命令:git pull
- 要合并其他分支到你的当前分支(例如master),命令:git merge <branch>
- 在合并改动之前,也可以使用该命令查看是否有不一致:git diff <source_branch> <target_branch>
PS:以上两种情况下,git都会尝试去自动合并改动。但有可能出现冲突(conflicts),需要修改这些文件来手动合并这些冲突。改完之后,需要执行如下命令以将他们标记为合并成功:git add <filename>
7、替换本地改动
1)使用如下命令替换掉本地改动:git checkout --<filename>
它会将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