Git 工作区、暂存区、版本库
-
工作区:就是你在电脑里能看到的目录
-
暂存区:一般存放在 ".git" 目录下的 index 文件中
-
版本库:工作区有一个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库
当对工作区修改(或新增)的文件执行 "git add" 命令时,会将修改(或新增)的文件推送到暂存区
当执行提交操作 git commit -m "提交信息" 时,会将暂存区的目录树写到版本库(对象库)中
当执行 git push -u origin <branch> 时,会将版本库的代码推送到远程仓库
创建仓库
git init
Git 使用 git init 命令来初始化一个 Git 仓库, 在执行完成命令后,Git 仓库会生成一个 .git 目录
-
使用方法
-
使用 当前目录 作为Git仓库,我们只需使它初始化
git init
-
使用我们 指定目录 作为Git仓库
git init 目录名称
-
git clone
我们使用 git clone 可以从网络上 Git 仓库中拷贝项目或者克隆本地仓库
-
克隆仓库的命令格式为
git clone <repo>
-
如果我们需要克隆到指定的目录,可以使用以下命令格式
git clone <repo> <directory>
参数说明
repo:Git 仓库
directory:本地目录
实例
比如, 创建一个本地仓库的克隆版本
git clone /path/to/repository
比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令
git clone git://github.com/schacon/grit.git
git clone 时,可以所用不同的协议,包括 ssh, git, https 等,其中最常用的是 ssh,因为速度较快,还可以配置公钥免输入密码。各种写法如下:
git clone git@github.com:fsliurujie/test.git --SSH协议
git clone git://github.com/fsliurujie/test.git --GIT协议
git clone https://github.com/fsliurujie/test.git --HTTPS协议
Git 常用命令
git add
git add 命令可将该文件添加到缓存区
git commit -m "提交信息"
git commit -m "提交信息" 将缓存区内容添加到本地仓库中并添加一个简短信息, 但是还没推送到远端仓库
Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址
git config --global user.name 'runoob'
git config --global user.email test@runoob.com
git status
git status 命令用来查看文件状态
git rm
从Git本地仓库中删除文件,前提是没保存到缓存区
git rm <file>
如果删除之前修改过并且已经放入到暂存区的话,则必须要用强制删除选项 -f 。会把文件从本地仓库和缓存区中删除
git rm -f <file>
如果把文件从暂存区删除,但仍然希望保存在当前工作目录中, 换句话说,仅是从跟踪清单中删除
git rm --cached <file>
分支管理
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上
新建分支
创建新分支
git branch (branchName)
切换分支
git checkout (branchName)
创建新分支并立即切换到该分支下
git checkout -b (branchName)
列出所有分支
git branch
删除分支
git branch -d (branchName)
分支合并
一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用以下命令将任何分支合并到当前分支中去
git merge <branchName>
推送到远程仓库
把本地仓库的代码推送到远程仓库有2条命令
git push origin master <可以把 master 换成你想要推送的任何分支>
或者
git push -u origin master <可以把 master 换成你想要推送的任何分支>
git push origin master 和 git push -u origin master 的区别
git push origin:表示将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push
git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push
不带任何参数的git push,默认只推送当前分支,这叫做simple方式
红色文字属于转载,文章出处:https://www.cnblogs.com/zhouj850/p/7260558.html
git 简明指南:git 简明指南