建立一个目录用于存放仓库,或在有内容的目录下操做。
而后切换到此目录下初始化:git --bare init
git status 查看仓库状态
branches 分支目录
config 定义项目特有的配置选项
description 仅供git web使用
HEAD 当前分支
hooks 包含git钩子文件
info 包含一个全局排除文件
objects 存放全部数据内容,有info、pack两个子文件夹
refs 存放只想数据(分支)的提交对象的指针
index 保存暂存区信息,在执行git 初始化的时候这个文件还不存在,git add 后生成
工做目录 暂存区 本地仓库 远程仓库
git add git commit git pushgit
git add FILE 添加file到暂存区
git add . 添加目录中全部改动过的文件到暂存区
git rm --cached FILE 将暂存区的FILE 撤回到工做区
git rm -f FILE 同时删除暂存区、工做区的FILE(即直接删除暂存区的文件)
git commit -m "add newfile a" 添加到本地仓库(至关于作了一次快照,可根据引号中内容恢复)
【真正意义上的经过版本控制系统管理文件:工做目录必须有代码文件,经过git add file添加到暂存区,经过git commit -m "输入的备注"添加到本地仓库】
修改文件名两种方式:
一、 mv a a.txt 即先删除a 而后生成了a.txt,因此更名不用这个 (删除本地文件)
git rm --cached a
git add a.txt 而后git status 便可看到这两条命令便是rename (删除暂存区文件)
git commit -m "modified a a.txt" a更名a.txt并提交
二、git mv old new 直接更改文件名,改完直接git commit提交便可web
git diff 比对工做目录与缓存区有什么不一样
git diff --cached 比对暂存区与本地仓库有什么不一样缓存
ls检查下当前目录下是否有仓库信息,
git remote add origin git@10.0.0.227:web/control.git 建立远程仓库origin
git remote 查看当前远程仓库的名称
git remote remove origin 删除远程仓库origin服务器
git log 查看历史提交信息
git log --online 查看历史提交信息的哈希值
git log --online --decorate 历史提交信息并查看当前指针位置
git log -p 展现具体变化内容
git log -1 展现一条提交信息的内容
git log -1 -p 展现详细具体的最后一条变动的信息内容ide
git reset --hard haxizhi 恢复到从前的haxizhi位置
git reflog 查看全部历史提交信息,包括回复到指定位置以前的
git reset --hard haxizhi 先后都能回滚 来回滚gitlab
git branch 查看分支
git branch fenzhi 建立分支fenzhi
git checkout fenzhi 切换分支fenzhi
git checkout -b testing 建立并切换到分支testing
删除分支要先切换到master而后删除建立的testing ,删除也会给自动建立一个快照,可恢复
git branch -d testing 删除分支testing
git merge testing 合并分支
冲突时,直接编辑冲突的文件,例如:vi aaa 而后去掉大于号、小于号、等于号,而后选择保留的代码,可都保留。版本控制
git tag -a v1.0 -m "hehe" 当前状态打标签为V1.0
git tag -a V1.0 haxizhi -m "hehe" 把某个哈希状态的状态打标签
git show v1.0 查看某个标签的信息
git reset --hard v2.0 回滚数据到V2.0
git tag -d v2.0 删除V2.0标签的数据指针
git remote add origin git@10.0.0.227:web/hehe.git 添加远程仓库
git push -u origin master
gitlab :git服务器的公钥放到gitlab里便可不用输入密码推送代码
git pull origin master 把origin分支拉到本地与master分支合并对象