一、新建仓库/连接仓库

  1、项目管理者,创建新仓库:

    ①远程创建一个空的仓库。(不要勾选任何初始化文件,否则就不是空仓库了)

    ②本地准备好项目。

    ③本地连接远程仓库:

      - HTTPS的方式:git remote add origin(连接名) 。

      - SSH的方式:git remote add origin git@

    ④将本地项目仓库提交到远程仓库:git push  origin master。

  2、项目参与者:

    ①本地连接管理者创建的远程仓库:方法与管理者相同。

    ②复制远程项目到本地:

    

二、其他相关操作
  1、git remote/git remote -v:查看当前连接的远程仓库。

  2、git remote -h:查看remote相关帮助文档。

  3、git remote remove origin:断开远程连接。

  4、git pull origin 分支名:拉下远程仓库的指定分支中项目的最新版本。

  5、git push origin 分支名:提交本地指定分支中项目的最新版本。

  6、首个连接名默认都叫origin,若本地还需要同时连接其他平台,可以载创建一个不同连接名的连接,然后就可以根据指令中的连接名定向操作。

三、SSH连接

  1、生成sshkey:ssh-keygen -t rsa -C "xxx@xxx.com",生成的信息保存于,~/.ssh目录下。

  2、.ssh目录下的id_rsa.pub的信息即公钥。

  3、本地是管理员,远程管理员将本地公钥添加到管理员码云:码云 => 设置 => 安全设置 => SSH公钥。

  4、本地是协同者,远程管理员将本地公钥添加到远程仓库:码云 => 项目仓库 => 管理 => 部署公钥管理 => 添加公钥。

  5、添加后,输入:git -T git@gitee.com,出现成功信息即代表添加成功。

  6、添加成功,通过SSH方式进行远程操作会自动使用本地私钥进行匹配,若匹配成功,即可正常操作。

四、码云与自建git添加协同者的区别

  1、码云:

    ①本地公钥配置为协同者的码云个人公钥。

    ②管理者添加协同者的码云账号到项目中。

    ③协同者确认添加。

  2、自建git:

    ①管理者把协同者的本地公钥直接添加到项目中。

    ②协同者确认添加。

五、冲突问题

  1、冲突产生的原因:不同版本对同一文件的相同位置进行了修改,有可能产生逻辑矛盾的情况。

  2、冲突演示:

<<<<<<< HEAD  # 冲突开始
# 自己的代码
=======  # 分割线
# 别人的代码
>>>>>>> b63c408abd05b87fc492d40523240561999dba50  # 冲突结束(版本号)

  3、出现冲突的场景:

    ①拉下分支时,远程pull下来的最新版本与本地预备版本冲突。

    ②合并分支时,本地push提交的版本与远程最新版本冲突。

  4、解决冲突的步骤:

    ①与冲突点的作者沟通,整合代码。

    ②整合的代码修改好先保存于本地版本库,再push提交。

六、其他说明

  1、协同者一般拉下dev分支(由管理者在线上创建),然后切换在本地dev分支上修改并提交(可能是远程pull下来的,也可以在本地创建)。

  2、提交代码时,应该确保工作区与暂存区都已清空。

  3、应该先pull下来,在最新版本上进行操作,再push提交。

  4、git push origin master -f:普通提交无法实现时,可以强制提交,但是不提倡使用。

  5、当项目当前版本出现重大崩坏时,可以通过master分支回滚到某个稳定版本。

    ①本地pull下来master分支。

    ②git reset --hard  版本号:回滚到指定版本。

    ③git push origin master -f:强制push提交。

七、pycharm中使用git

  1、配置git:settings => Version Control => Git => 配置git.exe。

  2、git clone:VCS => Checkout from Version Control => Git。

  3、创建本地分支:右下角分支名 => New Branch。

  4、pull/push:右击项目名 => Git => Repostiory => Pull/Push,或者上方快捷按钮。

  5、add/commit:右击项目名 => Git => Repostiory =>Add/Commit Directory。

  6、版本对比:右击项目名 => Git => Show History。

八、补充

  1、pycharm误操作找回历史记录:右击项目名 => Git =>Local History => Show History。

  2、git变基:用<git rebase>代替<git merge>实行合并,就是变基合并,变基合并后,主分支只保留子分支最新的版本,否则,合并后,子分支的历史版本都会同步到主分支上。

  3、码云上合并:Pull Requests。