git简介:
分布式代码协同管理工具
本地仓库结构:
工作区:
本质就是项目所在的目录路径
暂存区:
如果工作区中的项目文件想要备份或者进行其他的操作,需要将指定的文件先保存至暂存区,暂存区保存的文件本质是 工作区的文件与 git 系统建立跟踪关系的索引罢了。
本地仓库:
本地仓库是真正能够保存或备份项目文件的区域,只能被当前项目所在的目录使用,一个仓库只对应一个项目使用,如果有其他项目则需要重新创建对应仓库。
git安装:
sudo apt-get install git
git创建:
git init //初始化一个空的git
git配置:
git config --list //查看配置信息
git config user.name "用户名" //配置用户名
git config user.email "xxx.com" //配置用户邮箱信息
git config core.editor vim //配置编译器
git各区域状态:
git status //查看各区域状态
git日志:
git log //查看commit所有提交日志
git log --pretty=oneline //查看单行日志
仓库信息:
git remote -v //查看远程仓库地址
git remote remove origin //删除 origin 仓库,(常用于仓库地址或名称有误,或更改远程仓库)
git remote add origin <url> //添加远程仓库地址,接上条
文件比较:
git diff <文件名> //比较本地文件和仓库文件的区别
将本地仓库文件恢复到工作区:
git checkout <文件名> //本地仓库恢复到工作区
git checkout -- <文件名> //暂存区恢复到工作区 -- 两边有空格
git标签:
在当前工作的位置添加快照(索引)用来保存工作状态,一般用于版本的迭代
git tag <标签名> //创建标签
git tag <标签名> -m <提示信息> //创建标签并设置提示信息
注意:提示信息可以指定对应的文件索引,指定索引码的前7位。
git tag -d <标签名> //删除标签
git show <打标签时的标签名> //显示标签的具体信息
git reset --hard <标签名> //恢复到指定标签位置
分支操作:
分支适用于多人协作工作,获取原有代码后在分支基础上创建自己的工作环境,单独开发,不会影响其他分支的操作,开发完成后再同一合并到一个叫做主线分支中。
git branch //查看当前分支,前面带有 * 表示当前所在的分支
git branch -r //仅查看远程分支
git branch -a //查看所有分支,本地和远程
git fetch //从远程仓库下载并获取更新,但不会自动将这些更新合并到你的本地工作目录中不会对你的当前工作造成影响,给了你检查和选择合并哪些内容的机会。
当远程仓库创建了新的分支,而本地仓库却没有该分支时,可使用git fetch更新分支。
git branch <分支名> //创建分支(默认是在master分支下创建)
git checkout <分支名> //切换分支
git checkout -b <分支名> //创建并切换到新的分支下
git merge <分支名> //将指定分支合并到当前分支
合并过程中如果没有冲突,直接合并后当前分支为干净分支状态,直接保存在本地仓库,如果产生冲突,需要人为选择,然后进行 add 和 commit 操作,在创建分支前,尽量保证当前分支是干净的,以减少冲突。
git branch -d <分支名> //删除分支
注意:如果删除的分支没有合并,是不能用当前命令删除,使用 -D 删除,表示强制删除指定分支。
将工作区文件提交到暂存区
git add filename //将filename文件提交到暂存区
git add * //将当前目录下的所有项目文件提交到暂存区
git rm --cache <文件名> //将指定文件从站存区撤销(删除)
如果工作区项目文件有所改动,与暂存区文件产生差异,可以通过 git checkout --文件名 来撤销工作区的修改
将暂存区的文件提交到本地仓库:
git commit -m <提交说明> //将文件同步到本地仓库
git clone:
从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,常用于第一次获取整个项目。
git clone <url> //拉取远端代码,默认master分支
git clone -b <分支名> <url> //拉取远端指定分支代码
git push:
git push origin <远端分支名> //将当前分支上传至远端仓库。
git push -u origin <远端分支名> //将当前分支上传至远端仓库,-u (即--set-upstream-to)选项,将本地当前分支与远端分支关联起来,下次上传时,只需执行”git push"即可。
git push //参上
git push origin <本地分支名>:<远端分支名> //将本地分支上传到远端指定分支,用于本地分支名与远端分支名不同名。
git pull:
从远程服务器获取到一个branch分支的更新到本地,并更新本地库,常用于本地版本与远端版本有代差。
git pull origin <分支名> //获取远端分支,同步到当前分支
git pull origin <远端分支名>:<本地分支名> //获取远端指定分支,同步到本地指定分支,常用于分支名不同
常用步骤:
git init
git clone http://xxxx
...修改代码...
git add .
git commit -m "xxxx xxxx"
git push origin master_local:master
//若有版本代差
git pull origin master:master_local
git push origin master_local:master
常见报错:
以后遇到再追加吧。