Git 是什么
非常简单地说,Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。所谓版本控制系统 (VersionControl System),从狭义上来说,它是软件项目开发过程中用于储存我们所写的代码所有修订版本的软件,但事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理。
2005 年 ,Torvalds 开 始 着 手 开 发 Git 是 为 了 作 为 一 种 过 渡 方 案 来 替 代BitKeeper,后者之前一直是 Linux 内核开发人员在使用的版本控制工具,当时由于自由软件社区中的许多人觉得 BitKeeper 的使用许可证并不适合自由软件社区的工作,因此 Linus 决定着手开发许可证更为自由灵活的版本控制系统。尽管最初Git 的开发是为了辅助 Linux 内核开发的过程,但是现在很多其他自由软件项目中也使用了 Git 实现代码版本管理,譬如,X.org 项目、许多 Freedesktop.org 的项目、Ruby 项目等。
为什么使用版本控制系统
版本控制系统是为懒人准备的,它让懒人们比那些善于备份文档的勤劳人拥有更干净的文件系统以及更多的可以活着的时间。
git常用命令
master :默认开发分支 Head : 默认开发分支
origin :默认 远程版本库 Head^ : Head 的父提交
创建版本库:
git clone #克隆远程版本库 git init #初始化本地版本库
修改和提交: $ git status
#查看状态 $ git diff
#查看变更内容 $ git add .
#跟踪所有改动过的文件 $ git add
#跟踪指定的文件 $ git mv
#文件改名 $ git rm
#删除文件 $ git rm --cached
#停止跟踪文件但不删除 $ git commit -m ''commit message''
#提交所有更新过的文件 $ git commit --amend
#修改最后一次提交查看提交历史: $ git reset --hard HEAD
#撤销工作目录中所有未提交文件的修改内容 $ git checkout HRAD
#撤销指定的未递交文件的修改内容 $ git revert
#撤销指定的提交分支与标签 : $ git branch
#显示所有本地分支 $ git checkout
#切换到指定分支或标签 $ git branch
#创建新分支 $ git branch -d
#删除本地分支 $ git tag
#列出所有本地标签 $ git tag
#基于最新提交创建标签 $ git tag -d
#删除标签
#本地创建分支并切换 $ git checkout -b
#查看远程的各个分支 $ git branch -a
#删除本地分支 $ git branch -d
#删除远程分支 $ git push origin --delete
合并与衍合: $ git merge #合并指定分支到当前分支
$ git rebase #衍合指定分支到当前分支
远程操作:
$ git remote -v #查看远程版本库信息
$ git remote show #查看指定远程版本库信息
$ git remote add #添加远程版本库
$ git fetch #从远程库获取代码
$ git pull #下载代码及快速合并
$ git push #上传代码及快速合并
$ git push : #删除远程分支及标签
$ git push --tags #上传所有标签
$ git stash #隐藏到暂存区
$ git stash pop #释放
注意事项:git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:
1. 找一个干净目录,假设是git_work
2. cd git_work
3. git clone myrepo.xxx.com/project/.gi… ,这样在git_work目录下得到一个project子目录
4. cd project
5. git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release
6. git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
7. git checkout -b release origin/release,作用参见上一步解释
8. git checkout dev,切换回dev分支,并开始开发。
9.添加远程仓库
git remote add origin gitee.com/jianan/lear…
10.本地仓库也远程仓库关联
git branch --set-upstream-to=origin/master master
日常工作简单版:
git add . 提交到本地缓存
**git commit -m '你想备注的信息' ** 提交都本地仓库
git push 提交到远程
已经写了代码的 就git stash 暂存 然后切分支 之后 git stash pop
设置git push和pull的默认远程分支
git branch --set-upstream-to=origin/master mastergit pull
git remote 删除添加的远程地址
一.当推送到服务器时首先要添加远程地址的
git remote add origin https://gitee.com/kingCould/HelloWord.git
二.查看本地添加了哪些远程地址
$ git remote -v
origin https://github.com/zhidao/crm.git (fetch)
origin https://github.com/zhidao/crm.git (push)
sdorigin https://github.com/zhidao/erp.git (fetch)
sdorigin https://github.com/zhidao/erp.git (push)
三.删除本地指定的远程地址
git remote remove origin 删除即可