基础概念
工作区:就是项目的目录,没有任何版本记录的。
暂存区:电脑本地的一个临时存储区域,提交候选区,并没有形成版本。
版本库:本地的仓库,有版本号。
远程仓库:Gitee服务器上的仓库,用于协同开发。
每一次 commit 都是一个完整的文件快照(快照是整个项目的一次完整状态)
远程仓库:
分支
git push --set-upstream origin master
切换到哪个分支,git commit 就提交到哪。
新建的分支是本地的,远程仓库没有,需建立联系
git push -u origin 分支名
或者
git push --set-upstream origin 分支名这个只需要第一次设置,后面直接 git push 就行了。
如果创建了一个文件,但是并没有 git add,那这个文件哪个分支都可见。因为你没add,那这个文件就是个普通的文件,不属于项目的文件。
切换分支,它是工作区都切换的,就比如在v1.0.0中新建了一个文件和修改了一些文件,这些和master没关系,切换到master后,文件也没改动,文件也没新建,互不干扰。
还有未提交的,切换分支时会提醒你。
任何 git add 过的文件的改动(删除、修改),必须先 commit 才能切换分支,否则报错提示你先 commit:
error: Your local changes to the following files would be overwritten by checkout:
新建 文本文档.txt
Please commit your changes or stash them before you switch branches.
Aborting换成 Master 仓库:
git switch master
提交可控制粒度。
提交某个文件:
git add spi.c
git commit -m "fix spi"提交全部,所有改动的文件都会被提交
git add .
分支拷贝 master 代码
已经创建了分支
切换分支,然后拷贝。
git switch 分支
git merge master需要手动解决冲突。
比如,保留当前分支的文件。
git checkout --ours README.md
git checkout --theirs README.md 保留master的保留当前分支的所有文件。
git checkout --ours .放弃此次 merge
git merge --abort或者:
切换到分支后
git checkout master -- .
git commit -m "init"
git push --set-upstream origin 分支名使用
git init
git remote add origin https://github.com/yourname/project.git
git remote set-url origin 新仓库地址
git push
git add .
git commmit
git clone
git config --global user.name '灰蓝天际'
git config --global user.email 'infinitehz@yeah.net'忽略文件、文件夹
目录的话结尾要加 /
代码合并
Git 最难的部分。