介绍
Git是一个免费的开源分布式版本控制系统,用以快速高效地处理从小型到大型项目的所有事物。
版本控制系统 >> 管理内容改变的软件
1. 分布式 (Git)
2. 集中式
Linux安装Git方法:
有Git源:
#(sudo) apt-get install git
如果没有Git的源,用一下命令安装:
#(sudo) add-apt-repository ppa:git-core/ppa # apt update: apt install git
创建项目
工作目录 >git add> 暂存区 >git commit> 本地仓库 >git checkout> 工作目录
创建项目有两种方式:
第一种:
1. Github右上角Add new repository
2. 项目名称,项目描述, 公共还是私有
3. 勾选创建README文件
4. 选择clone复制地址
5. 在本地选择文件夹,右击git bash输入git clone复制的地址
结果: 有一个README文件和一个.git的隐藏文件(不要乱动、不要删除)
第二种:
1. Github右上角Add new repository
2. 项目名称,项目描述, 公共还是私有
3. 不勾选创建README文件,创建一个空的repository
4. 在本地创建一个文件夹名字和github上的项目名称一致
5. 右击git bash输入git init初始化,生成.git隐藏文件
6. 在本地新建文件,git add .
7. git commit -m "First commit"
8. 和网上的仓库建立联系,git remote add origin git@github.com:karen-ren/git-learning.git
9. push到主分支,git push -u origin master
Note:
git add index.html (单个文件)
git add . (多个文件)
git详细操作
git status
- 什么都没做:nothing to commit, working tree clean
- 修改了某个文件:
modified XXX文件
- - - git add XXX文件, 把工作区的修改提交到缓存区
- - - git restore XXX文件,丢弃工作区的修改
Untracked XXX文件
- - - git add XXX文件,把工作区的新文件提交到缓存区
git reset HEAD test.py
讲文件从缓存区拿回工作目录
git log
查看commit版本
git reset --hard c90518214c47f9cc474c4db3b80263886de8fa20
回到某一个版本
git reset --hard HEAD^
回到上一个版本
git reset --hard HEAD^^
回到上两个版本
删除了某个文件后
git add XXX文件名
git rm XXX文件名
git diff test.py
查看文件的变动
git分支
为什么要有分支?
最开始只有一条分支,就是master主分支。开发过程中一般主分支上是上线可以用的那一版最稳定的代码。
平时开发都在自己的分支上,开发完以后修改bug。
如何创建分支?
git branch dev
查看分支
git branch
切换到dev分支
git checkout dev
创建分支并切换分支
git checkout -b qa
删除分支
git checkout -d dev
合并分支
git merge dev(把dev合并到当前所在分支)
Merge过程中的代码冲突:两个分支都改了同样的部分
找到提示错误的代码,手动修改删除,再次add commit即可
Note:一般情况下,工作目录还有东西 add 到暂存区,就不要创建分支。
可以保存工作区的内容
git stash
查看保存状态
git stash list
恢复
git stash apply
删除之前的保存空间
git stash drop
恢复后直接删除
git stash pop