git仓库管理基础知识
git 简介
git是用来进行分布式多版本管理的版本管理系统,而常用的SVN则是集中式的版本管理软件。
git的世界观
本地仓库有 Git 维护的三棵“树”组成,这是 Git 的核心框架。这三棵树分别是:工作区域、暂存区域和Git 仓库。
工作区域(Working Directory就是你平时存放项目代码的地方。 暂存区域(Stage用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表信息,一般存放在 .git 目录下的 index 文件(.git/index)中。 Git 仓库(Repository就是安全存放数据的位置,这里边有你提交的所有版本的数据。其中,HEAD 指向最新放入仓库的版本(这第三棵树,确切的说,应该是 Git 仓库中 HEAD 指向的版本)。 Git 的工作流程一般是: 在工作目录中添加、修改文件; 将需要进行版本管理的文件放入暂存区域; 将暂存区域的文件提交到 Git 仓库。 因此,Git 管理的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。
git工作流程
git的基本操作
1.创建仓库 git init Git 使用 git init 命令来初始化一个 Git 仓库。初始化完成后,会在当前目录生成一个 .git 目录。所有 Git 需要的数据和资源都存放在这个目录中。 git clone 主要用来拷贝一份远程仓库,也就是下载一个项目。 2、git配置 设置提交代码时的用户信息: $ git config --global user.name "niewei" $ git config --global user.email "314554635@qq.com" 显示当前的 git 配置信息: $ git config --list 完成上述两个操作后,主要的操作流程有以下部分。
workspace :工作区 staging area :暂存区/缓存区 local repository :版本库或本地仓库 remote repository :远程仓库 3.git add添加到缓存区 添加一个或多个文件到暂存区: git add [file1] [file2] ... 添加指定目录到暂存区,包括子目录: git add [dir] 添加当前目录下的所有文件到暂存区: git add . 4.git commit暂存区内容添加到仓库 commit提交暂存区到本地仓库。 提交暂存区到本地仓库中: git commit -m [message] [message] 可以是一些备注信息。 提交暂存区的指定文件到仓库区: $ git commit [file1] [file2] ... -m [message] -a 参数设置修改文件后不需要执行 git add 命令,直接来提交 $ git commit -a 每次执行一次commit ,每次只要使用commit 命令,就相当于产生了一个历史版本。commit 指的是将缓存区的内容提交到仓库,目的为了保证本地的文本和仓库之间的同步。 5.添加远程仓库 第一步:创建github账号
第二步:将本地仓库和远程仓库连接起来 1>生成ssh key 【建立了本机和远程服务器之间的连接】 ssh-keygen -t rsa -C "314554635@qq.com"
2>验证ssh key是否添加成功
`ssh -T git@github.com`
第三步:在github中创建空远程仓库 添加远程版本库: `git remote add [shortname] [url] git remote add origin git@github.com:tianqixin/runoob-git-test.git` origin表示的是远程仓库中的主分支,对应的是本地仓库中的master,origin可以是别的名称,但是建议使用origin。 git remote rm name # 删除远程仓库 git remote rename old_name new_name # 修改仓库名 git remote show [remote] #显示某个远程仓库的信息 6.本地与远程库同步 以下命令将本地的 master 分支推送到 origin 主机的 master 分支。 git push origin master git push <远程主机名> <本地分支名>:<远程分支名> 删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支: git push origin --delete master 7.分支管理 列出分支基本命令: git branch 创建一个分支: git branch (branchname) 切换分支命令: git checkout (branchname) 删除分支命令: git branch -d (branchname) 合并分支命令: git merge testing 8.回滚旧版本 回退到上一个版本 git reset --hard HEAD^ 回到某个具体的版本 git reset --hard commitid 回到未来的版本 git reset --hard 未来的commitid 果不知道版本号,可以通过以下查询 git reflog 查看提交日志 git log
|