GIT区域介绍
创建文件夹git init
1、git有3个区域
- 工作区(working directory):项目的根目录,不包 括.git在内的其他文件
- 暂存区(stage area):是一个看不见的区域,git add 命令就是将文件添加到该区域,git add .表示添加所有,git status命令可以查看当前暂存区的文件,文件标识改了, (没有加号重启一下)
- 本地仓库(repository):指在工作目录下创建的一个.git 目录,这是一个隐藏目录。git commit -m "日志"名可以 将暂存区的代码提交到本地仓库。git push -u origin master就是将本地仓库的代码推送到远程仓库、
2、git文件的3种状态(尝试查看文件图标变化)
- 已修改(modified),存在于工作区,文件修改后的状态
- 已暂存(staged),存在于暂存区,采用git add命令后的 状态
- 已提交(committed),存在于本地仓库,采用git commit命令后的状态
码云+GIt配置仓库
1、为什么要这么做?
若需要将本地仓库的代码同步更新到远程托管服务器,则需要 与远程服务器建立通信授权连接,最常见的就是利用上述所生 成的sshkey进行配置。
常见的托管平台有GitHub,GitLab(开源),码云,企业中也 用该产品搭建企业的代码管理平台。
2、前置条件
- 本地git已安装并配置了Git用户参数,本地已生成了SSHKey
- 注册码云平台账号,建议采用QQ邮箱进行注册,方便记忆 和密码找回
3、秘钥配置
- 注册好码云后,进入设置中心,再点击SSH公钥
- 在本机磁盘目录中,找到当前用户下的.ssh目录,并编辑其 中的.pub结尾的文件,以记事本打开(或者你用其他的编辑 器打开都可以)
- 将内容拷贝至码云中,拷贝后,标题能够自动识别,也可以 自行修改
- 打开Git Bash终端输入如下命令进行连接测试
shellxiaohu@DESKTOP-16MTP3U MINGW64 /e/shujia/testjava/testgit (master) $ ssh -T git@gitee.com The authenticity of host 'gitee.com (180.97.125.228)' can't be established. ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV8 8. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts. Hi 小虎! You've successfully authenticated, but GITEE.COM does not provide shell access.
使用命令同步代码
代码同步有3个步骤:add、commit、push
a. 在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码
b. 将项目拷贝到该目录下,与.git同级(项目不能为空文件夹)
c. 使用名,将hospital-parent添加到本地仓库中,使用git add 目录命令
d. 将项目提交至本地仓库,使用git commit -m 备注命令
e. 在码云上创建一个仓库壳子,用来存放待上传的项目
注意:上述所复制的链接就是项目所在的仓库地址(我们使用 SSH命令进行交互操作)
4、 将本地库与远程库关联
关联命令:git remote add origin git@gitee.com:xiaohuya1/bigdata27-python-ppcar.git
5、远程仓库与本地仓库合并
这时候不着急推,先将远程仓库的文件同步一次到本地,否则 直接推会报错
shell# 表示从远程master分支拉取代码与本地仓库进行合并,此时一定 要保证本地的文件是绿色的 git pull --rebase origin master
此时你会发现本地代码多了几个文件
6、将本地代码推送到远程分支
shell# push表示推送到远程分支 git push -u origin master
效果实例
刷新码云的远程仓库,能够看到如下结构
7、后续代码改动
依次执行以下命令(远程仓库没有发生改动的情况),如果远 程分支的代码已经被别人修改,需要先拉取代码,再提交,这 个过程稍微复杂一点,若存在冲突则涉及到同一行代码的合并
执行add
shell# 将已改动的文件添加到暂存区 git add bigdata17/
执行commit
shell# 将暂存区的代码提交到本地仓库 git commit -m "第二次提交"
执行push
shell# 将本地仓库的所有更改推送到远程服务器的master分支 git push origin master(完整写法,远程分支若不存在则会 被创建) 或者 git push origin(远程仓库与本地仓库存在分支最终关系的写 法) 或者 git push(远程仓库只有一个分支,最简单的写法)
库的所有更改推送到远程服务器的master分支
git push origin master(完整写法,远程分支若不存在则会被创建)
或者
git push origin(远程仓库与本地仓库存在分支最终关系的写法)
或者
git push(远程仓库只有一个分支,最简单的写法)