- 工作区(workspace):操作文件
2.暂存区(index):临时存储,存放小阶段的成果,版本库的一部分 - 本地仓库(Repository):存放版本记录,一个版本会完成一个完整的功能,一个版本就是一个更新
4.记录的版本可以查看,回退 5.暂存区的版本一旦提交就没有了(保存到仓库里面去了)
- Git安装
windows安装:https://git-scm.com/download/win linux安装:
sudo apt-get install git
git
git
创建本地版本库
(py3env) bd@DF:~/git_workspace$ git init
已初始化空的 Git 仓库于 /home/bd/git_workspace/.git/
(py3env) bd@DF:~/git_workspace$ ls
(py3env) bd@DF:~/git_workspace$ la
.git
使用指定目录作为Git仓库、
git inti 目标文件夹
-配置信息
(py3env) bd@DF:~/git_workspace$ git config user.name 'ceilyang'
(py3env) bd@DF:~/git_workspace$ git config user.email 'ceilyang@maqu.com'
git config
git config
提交
(py3env) bd@DF:~/git_workspace$ python test.py
hello word
(py3env) bd@DF:~/git_workspace$ git stuate
git:'stuate' 不是一个 git 命令。参见 'git --help'。
最相似的命令是
stage
(py3env) bd@DF:~/git_workspace$ git staute
git:'staute' 不是一个 git 命令。参见 'git --help'。
最相似的命令是
status
(py3env) bd@DF:~/git_workspace$ git status
位于分支 master
尚无提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
test.py
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
(py3env) bd@DF:~/git_workspace$ git status
位于分支 master
尚无提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
test.py
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
(py3env) bd@DF:~/git_workspace$ git add test.py
(py3env) bd@DF:~/git_workspace$ git status
位于分支 master
尚无提交
要提交的变更:
(使用 "git rm --cached <文件>..." 以取消暂存)
新文件: test.py
(py3env) bd@DF:~/git_workspace$ git commit -m '项目初始化v1.0.0'
[master (根提交) c8209b2] 项目初始化v1.0.0
1 file changed, 1 insertion(+)
create mode 100644 test.py
(py3env) bd@DF:~/git_workspace$ git status
位于分支 master
无文件要提交,干净的工作区
(py3env) bd@DF:~/git_workspace$ git log
commit c8209b23df9a438f6251f145890196800e9b35e0 (HEAD -> master)
Author: ceilyang <ceilyang@maqu.com>
Date: Wed Oct 13 20:54:51 2021 +0800
项目初始化v1.0.0
提交到工作区
git add.
提交到本地仓库
git commit -m "提示信息"
git log
git reflog
git reset [
分支
就像有主干(master),有分支
在版本控制中同时推进多个任务,给每个任务创造单独的分支
使用分支意味程序员可以把自己的工作从主线上面分离开来,开发自己的任务,小功能,不会主线的运行
优点:
列出分支
git branch
(py3env) bd@DF:~/git_workspace$ git branch
* master
(py3env) bd@DF:~/git_workspace$ ls
test.py
(py3env) bd@DF:~/git_workspace$ git branch -c
fatal: 必须提供分支名
(py3env) bd@DF:~/git_workspace$ git branch -v
* master 4e5ed31 项目初始化补丁.v1.0.1
创建分支
git branch 分支名
(py3env) bd@DF:~/git_workspace$ git branch hot-fix
(py3env) bd@DF:~/git_workspace$ git branch -v
hot-fix 4e5ed31 项目初始化补丁.v1.0.1
* master 4e5ed31 项目初始化补丁.v1.0.1
切换分支
git checkout
(py3env) bd@DF:~/git_workspace$ git checkout hot-fix
切换到分支 'hot-fix'
(py3env) bd@DF:~/git_workspace$ git branch -v
* hot-fix 4e5ed31 项目初始化补丁.v1.0.1
master 4e5ed31 项目初始化补丁.v1.0.1
合并分支
git merge 指定分支
合并冲突
冲突发生原因:两个分支操作了同一个对象(文件)做了不同的修改,Git无法决定使用那个一个,人为决定新的版本内容,手动篡改一下
删除分支
(py3env) bd@DF:~/git_workspace$ git branch
* hot-fix
master
(py3env) bd@DF:~/git_workspace$ git checkout master
切换到分支 'master'
(py3env) bd@DF:~/git_workspace$ git branch -d hot-fix
已删除分支 hot-fix(曾为 4e5ed31)。
|