https://git-scm.com/
Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。具有方便的本地分支、方便的临时区域和多个工作流等特性。
https://git-scm.com/docs 文档
工作区(Working Directory)
在电脑里能看到的目录,比如我的
learngit
文件夹就是一个工作区
版本库(Repository)
工作区有一个隐藏目录
.git
是Git的版本库,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD。HEAD
严格来说不是指向提交,而是指向master
,master
才是指向提交的,所以,HEAD
指向的就是当前分支。
- git init 创建本地的git仓库
- git add file 实际上就是把文件修改添加到暂存区
- git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支
撤销修改
git checkout -- file
可以丢弃工作区的修改,尚未addgit reset HEAD <file>
可以把暂存区的修改撤销掉(unstage),重新放回工作区,已经add 尚未提交分支。reset 以后重复上一步骤明令git reset --hard versionID,版本回退
删除文件
一般情况下,你通常直接在文件管理器中把没用的文件删了并且确实要从版本库中删除该文件,
git rm <file>那就用命令git rm删掉,并且git commit
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt
远程仓库
- 添加远程仓库
git remote add origin git@github.com:yanpengfei1991/learngit.git
- 查看远程库
git remote
- 本地仓库推送到远程仓库
git push -u origin master
![]()
- “删除”远程仓库
#查看远程库信息 git remote -v #此时的删除只是解绑了远程和本地仓库的关系 git remote rm origin
- 从远程仓库克隆
git clone git@github.com:yanpengfei1991/gitskills.git
分支管理
- 查看分支:
git branch
- 创建分支:
git branch <name>
- 切换分支:
git checkout <name>
或者git switch <name>
- 创建+切换分支:
git checkout -b <name>
或者git switch -c <name>
- 合并某分支到当前分支:
git merge <name>
- 删除分支:
git branch -d <name>
分支策略