分布式版本控制系统,去中心化
本地仓库git 、云仓库git hub
设置签名
设置全局用户名、全局邮箱(GitHub【已经添加并验证】的邮箱;Gitee会在项目【克隆/下载】自动提供)
git config --global user.name "2689147811-del"
git config --global user.email "你github的验证邮箱"
设置完成后,再查询验证
git config --global user.name
git config --global user.email
初始化项目
创建git hub仓库配置项
-
Add README:README.md,仓库介绍文档。
-
Add .gitignore:告诉 Git 哪些文件不需要提交(比如本地配置、缓存)。下拉可以选模板
-
Add license :开源协议,初学直接保持
No license
方案 A:本地已有代码
项目文件夹用Git Bash打开:
git init #本地初始化git,生成.git
git add . #添加文件到暂存区
git commit -m "first commit" #第一次提交(生成本地master/main分支)
git remote add yc_name 远程仓库url #关联远程Gitee仓库(别名 yc_name)
git push -u origin main #首次推送,-u 建立本地分支与远程分支追踪关系
方案 B:本地已经是 git 仓库
git clone 仓库url #克隆远程仓库到本地
cd 仓库名 #进入这个项目文件夹
git status #查看仓库状态(可选)
git add . #将新增 / 修改文件加入暂存区
git commit -m "本次提交说明" #提交到本地仓库
git push 别名 分支 #推送到远程 GitHub 仓库
本地仓库操作
| 命令名称 | 作用 |
|---|---|
git reflog |
查看本地历史修改记录(版本号+记录) |
git reset --hard 版本号 |
回溯本地版本 |
git add . git commit -m "提交注释" |
改动文件提交到本地仓库 |
git commit -am "提交注释" |
改动文件执行add,然后 commit本地仓库 |
分支概述
开发新功能或修复 bug 时可新建分支,多人能在各自分支并行开发,改动仅存在于独立分支,不会影响 main 主分支的稳定代码。
| 命令名称 | 作用 |
|---|---|
| git branch 分支名 | 创建分支 |
| git branch -v | 查看分支 |
| git checkout 分支名 | 切换分支 |
| git merge 分支名 | 把指定的分支合并到当前分支上 |
切换分支之前,缓冲区一定要清空,不同仓库分支是共用同一个缓冲区的
分支冲突
本地分支冲突
-
同一个仓库内,两个分支有共同祖先,发生【文件内容冲突】时,此时自动暂停合并
解决方式1:
-
(main)打开冲突文件,Git 会标记冲突区域
<<<<<<< HEAD # 当前分支(你现在所在分支)的代码 当前分支写的内容 ======= 被合并分支的内容 >>>>>>> 分支名 -
(main)手动编辑文件:删掉冲突标记
<<<<<<、=====、>>>>>>,保留想要的最终代码,保存文件 -
(main)
git add 文件名,把修改后的文件加入暂存区 -
(main)
git commit -m "解决合并冲突",完成这次合并提交 -
此时main是合并后的版本,fenzhi1是先版本,再次合并还是容易冲突
git checkout fenzhi1 -
(fenzhi1)
git merge main合并main分支
解决方式2:
-
git merge --abort中止合并,撤销本次合并尝试,回到合并前,两个分支完全不变但是该方式没有解决冲突本身,只是放弃这次合并、直接跑路
-
远程仓库冲突
当远程有新提交,本地提交落后远程,push推送会报错哟,需要以下操作:
git pull 别名 分支
此时会出现两种情况
-
你push的修改 与 远程新增的修改 属于不同文件
此时合并成功,只需要直接 commit,然后 push
-
同一个文件同一位置修改
出现 <<<<<< HEAD 冲突标记,需要手动解决→ add → commit,然后push即可
远程仓库操作
git remote -v查看当前仓库关联远程仓库的详情
git remote add 别名 仓库url 绑定远程仓库,起一个本地别名
| 命令名称 | 作用 |
|---|---|
git push 别名 分支 |
推送本地分支到远程仓库 |
git pull 别名 分支 |
拉取仓库并合并到当前分支 |
git fetch 别名 |
下载远程更新,不合并 |
git merge 分支名 |
把指定的分支合并到当前分支上 |
Pycharm开发
-
安装gitee插件
-
配置git.exe位置

-
克隆远程仓库工程
-
在开发时,要建立新分支开发,而不是直接在本地master分支开发
当开发完后,切换到本地master,先拉取远程分支,再合并新分支,就算有合并冲突也是在本地完成的

切换分支前先commit
git存在问题
源代码文件不忽略,编译生成、运行产生的文件要忽略(尤其是Java、C语言这种编译型语言)
下载.ignore插件,新项目添加忽略文件,配置pyhton忽略模板
