远程仓库命令

# 新增远程仓库:git remote add

# 远程仓库命令:
1、查看仓库已配置的远程源:git remote \ git remote -v

2、查看remote命令帮助文档:git remote -h

3、删除远程源:git remote remove 源名
eg: git remote remove origin

4、添加远程源:git remote add 源名 源地址
eg.git remote add orgin https://gitee.com/liuqingzheng/app01.git

5、提交代码到远程源(以后会经常用):git push 源名 分支名

6、克隆远程源(以后会经常用):git clone 远程源地址

7、从远程仓库拉去代码(以后会经常用):git pull 源名 分支名

使用ssh链接远程仓库

# 为什么使用ssh?

之前咱们添加远程仓库,地址是 http开头的,使用的是http链接远程仓库,输入了用户名和密码,记录在操作系统本地,以后就不用在输入用户名密码了
git remote add orgin https://gitee.com/liuqingzheng/app01.git
# 咱们要学习ssh方案,不需要输入用户名密码了,公钥私钥认证方式
本地机器保留私钥,在远程仓库配置公钥
远程仓库地址,就不是http的了,而是

git@gitee.com:liuqingzheng/lqz2.git# ssh方案,需要公钥私钥https://gitee.com/liuqingzheng/lqz2.git # http/https方案,用户名密码

# 如何生成公钥私钥:
1、命令窗口中执行:cmd/git bash here
ssh-keygen -t ed25519 -C “306334678@qq.com”
2、在操作系统用户–加路径–.ssh文件夹—公钥私钥
id_ed25519.pub # 公钥(给别人)
id_ed25519 # 私钥(自己留着)
3、去gitee配置公钥
https://gitee.com/profile/sshkeys
ssh -T git@gitee.com# 输入yes
4、以后可以免密操作
5、增加一个远程仓库地址:指定是ssh链接
git remote add origin git@gitee.com:liuqingzheng/lqz2.git
6、把代码推送到远端
git push origin master
# 以后用https还是ssh呢?
公司里用ssh居多
# 公司中你们的使用流程:
1、要么自己注册,公司给你注册好了,账号密码和gitee地址
2、登录到gitee上,能看到一个项目(别人创建的,但你是开发者,你能看到)
本地生成ssh公钥和私钥—把公钥配置在gitlab
继续后续操作
3、把代码拉取到本地(已经配置好了ssh公钥和私钥)
git clone git@gitee.com:liuqingzheng/lqz2.git
4、修改代码,加代码
5、本地提交
6、推送到远端

协同开发之项目创建者

# 作为项目的创建者,我们需要本地代码推送到远程仓库

# 多人合作开发一个项目:luffy_api——本地放到远端 本地项目还没创建仓库
远程仓库是空的
远程仓库不是空(对钩可以点了)
# 远程仓库不为空的操作步骤:
1、远端创建一个不为空的仓库
2、在本地拉取:git clone git@gitee.com:liuqingzheng/luffy_api.git
3、在拉取的仓库中加代码(我们直接复制过来的)
4、写好忽略文件
5、git add .
6、git commie -m ‘我的第一次’
7、git push origin master
8、以后都开发当时拉下来这个文件夹
# 注意:
如果某个文件或文件夹已经被版本管理了,后期再设置忽略,就无效了
如何让它再被忽略呢?
把这个文件删除后,以后就被忽略了

协同开发之项目参与者

# 作为项目的创建者,我们需要本地拉取代码

# 操作:

1、克隆到本地:git clone 本地
git clone git@gitee.com:liuqingzheng/luffy_api.git
2、使用pycharm打开项目

3、本地运行项目

选解释器,创建虚拟环境,根据 requirements.txt 安装依赖,本地数据库链接配置好

mkvirtualenv -p python38 luffy001pip install -r requirements.txt

4、开发代码,本地提交,推到远端

协同开发演示

# 第一个人
1、组长,把你加成开发者
git clone https://gitee.com/liuqingzheng/luffy_api.git
2、使用pycharm打开

3、git 操作
修改 user 的app下 __init__.py,写入

print("hello world")git add .git commit -m ''git push origin master

——先提交的—-

# 第二个人
1、拉取(本地早就有)
git clone https://gitee.com/liuqingzheng/luffy_api.git
2、使用pycharm打开

3、git 操作
修改 user 的app下 __init__.py,写入

print("lqz")git add .git commit -m ''git push origin master

——不允许提交,跨版本了——

git pull origi,n master # 拉取远端和本地保持一致# 我出冲突了,解决冲突# 再提交git add .git commit -m '处理问题'git push origin master

冲突问题的出现

# 协同开发—出现冲突
1、多人在同一分支开发出现的冲突
2、分支合并出现冲突

分支合并出冲突

1、创建dev分支
2、创建bug分支
3、在bug分支修改 settings.py—数据库链接 改成localhost
4、合并进主分支—没有冲突

5、dev分支开发,新增一个xx.py 文件—提交到版本库
6、settings.py—数据库链接 改成localhost—提交到版本库
7、跟主分支合并–出冲突—解决冲突

# 冲突的样子

<<<<<<>>>>>> dev

多人在同一分支开发出现冲突

# 张三:
git pull origin master
xx.py 第四行加入 print(‘张三’)
git add .
git commit -m ‘加了张三’
git push origin master
# 我:
1、如果我pull,在最新的基础上,写,不会出冲突
git pull origin master
2、我没有pull,尽管写—写了同一个位置,pull下来就会冲突
解决冲突,重新提交

<<<<<<>>>>>> a48c6510d7097240fa69bbea4ff0658b60768dea

线上分支合并

# 之前学过,本地分支合并:git merge 分支名

# 学习直接在线上合并分支

# 本地和线上分支同步
# 远程创建分支,拉取到本地
远程创建分支,拉取到本地
点点点创建
在本地执行:

git pull origin # 拉下来,但是看不到,只有切进去才能看到git checkout bug

# 本地创建,推送到远端
本地创建分支

git branch devgit checkout dev # 切到dev分支git push origin dev # 把本地当前分支,推动到远端dev分支

# 线上分支合并
在本地dev分支加入xx.py 加入 一句话
推送到远端 dev分支
在远端 把dev合并进master
# 你提合并请求–领导审核代码—同意—合进来

# commit 的时候,单引号和双引号有区别

pycharm使用git

# 之前所有敲命令的地方,使用pycharm点点点都能完成

为开源项目贡献代码

1、看到开源代码
2、 fork—在你的仓库中就看到了这个项目
3、clone下来,修改代码
4、推送到自己的仓库汇总
5、提交prpull request
6、等待作者审核—审核过了,同意—跟线上分支合并一样

今日思维导图: