sudo apt-get install git 安装 git 包
基础使用
1. 创建 git 仓库
git init
2. 查看仓库是否创建成功,成功会创建一个 .git 的隐藏文件
ls -la
3. add 代码到缓存区
git add <name>
4. 提交代码到 git 仓库, -m 后面加的是版本说明
git commit -m '说明'
5. 查看版本信息
git log
6. 再次编辑代码,再次提交,会出现新的版本
7. 版本回退
HEAD 是一个指针,指向最新的版本 HEAD^ 表示前一个版本, HEAD~100 表示前100个版本,回退并不代表已经删除回退之前的版本
git reset --hard HEAD^
8. 想要到哪个版本,就加上版本号即可
git reset --hard <版本号>
9. 查看所有的版本记录
git relog
10. 当新建的文件没有 add 之前,使用 git status 可以查看到状态
git status
11. 当所有文件都添加到了暂存区
12. 当暂存区内没有文件了
13. 注意, git commit 会一次性的将暂存区的文件提交,生成一个版本。
14. 丢弃文件改动 没 add 之前
git checkout -- <file-name>
15. 当想要把已经提交到暂存区间的文件丢弃改动 , 要先取消暂存再对其改动 已经 add 之后
git reset HEAD <file-name>
16. 对于已经提交成为版本的文件, 想要取消修改, 先使用版本回退,git reset hard 版本号/HEAD^ 回到上一个版本, 再撤销提交 git reset HEAD 文件名,再
git checkout -- 文件名 丢弃修改
17. 对比俩文件的不同, 减号 代表HEAD版本中的文件,加号 代表工作区中的文件
最后一行绿色表示 工作区比HEAD区的文件多出一行 this is the new line
18. git rm 删除文件, git commit 提交删除
分支管理
分支与合并
用处:开发周期较长时不干扰其他人开发
1. 查看分支情况
git branch
2. 创建并切换分支
git checkout -b <branch-name>
3. 再查看分支详情, 星号显示的就是当前使用的分支
4. 查看所有版本
git log --pretty=oneline
5. 在分支 dev 上进行代码修改并提交
6. 再次查看版本信息,发现HEAD现在指向 dev 而不是 master 了, 本次修改不会影响到 master 所在的版本3中的内容
7. 切换回 master 分支
git checkout master
8. 确实已经切换回 master 分支
9. 快速合并: 在要合并到的分支下执行,就会合并到此分支下
git merfe <被合并的分支>
10. 删除分支 dev
小结:
查看分支:
git branch
创建分支:
git branch <name>
切换分支
git checkout <name>
创建 + 切换分支
git branch -b <name>
合并某个分支到当前分支
git merge <name>
删除分支
git branch -d <name>
解决分支冲突
情况:两个分支都有了新的提交,还是同一个文件时,会出现分支冲突
解决:手动合并代码,并重新提交
禁用快速合并,做一次新的提交
git merge --no-ff -m '禁用快速合并说明'
BUG分支
当代码写一半,需要取进行代码 bug 修复时,想要保存工作现场
1. 保存正在工作的现场
git stash
2. 新建一个 bug 分支处理bug
3. 查看过去保存的内容,并恢复现场
git shash pop