Git的使用方法、如何多人合作

好记性不如烂笔头,特将最近用到的一些命令记录在我的小仓库。

一、简介

Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

二、创建仓库

  • 可以在 GithubGitee 中 注册登录。
  • 在首页左侧点击 New 或 新建 按钮
  • 按照页面要求填写 Repository name 或 仓库名称
  • 完成创建
  • 在该仓库可以看到 Https 、SSH 甚至 SVN的远程仓库地址。

三、场景命令

1. 克隆项目/拉取新项目

在已知远程仓库 http 或 ssh 地址的情况下,通过 git clone 拉取即可。
如是该项目的成员,在后续上传操作如下

  • git add .
  • git commit -m “fix: xx fiexd.”
  • git push -u -f origin master

2. 第一次创建项目

首先需要在 github 或者 gitee 中注册账号,该步骤见上文—创建仓库。
在官网新建仓库,得到当前仓库的SSH地址

  • git init // 初始化项目文件夹
  • git add . / git add README.md // 添加所有文件 / 添加一个README.md文件 到暂存区
  • git commit -m “上传的内容信息” // 备注 “上传的内容信息” , 并提交到本地仓库
  • git remote add origin SSH地址 // 链接到远程仓库
  • git push -u origin master // 提交到远程仓库

3. 多人合作

首次可以新建一个自己的分支,将主分支拉过来,这样不会影响到主分支

  • git checkout -b dev // 创建分支,如果已经有 dev,可以使用git checkout dev直接切换分支
  • git add .
  • git commit -m “add some file.”
  • git push origin 分支名 -u // 将文件上传到该分支的远程仓库
    注意:git push origin dev -u 这行命令,若第一次推送到远程dev分支,加上 -u 将本地和远程的 dev 分支关联起来,否则后面在推送时会提示未关联远程项目,造成不必要的麻烦。这次加上-u关联起来后,后面就不用加-u 了,直接使用git push origin dev推送就行

若遇到问题可采用以下两条命令上传

  • git pull --rebase origin master
  • git push -u origin master

组员合并分支并且上传到主分支之后其他人如何操作?

  • git checkout master // 假设 master 是我的主分支,该命令为 切换到主分支
  • git pull // 拉取最新的master代码
  • git checkout dev // 切换回dev
  • git merge master // 将master内容合并到dev,确保代码的最新
  • git add a.txt // add . 添加所有文件到暂存区
  • git commit -m “add a.txt” // commit “add a.txt”
  • git push origin dev // 上传到远程仓库的 dev 分支
    同理,如果想要更新到主分支(master)那…

4. detached HEAD

detached是分离独立的意思,在git操作过程中 弹出 detached HEAD 是因为HEAD回到历史commit,然后对文件进行修改导致的**,产生了一个没有名称的分支**。

解决思路如下

  1. 在自己的代码的目录下打开 git bash
  2. 然后通过 git branch ,查看当前项目中的所有分支
  3. 先查看自己的当前分支的提交状态 git status
  4. 如果发现了别的分支 , 记录下那个版本号(比如我当时需要提交的分支是master,可是新创建的分支为head),记下最新提交的版本号
  5. 创建一个临时分支 git branch temp + 上面记录下的版本号
  6. 切换到你需要提交到的分支 git checkout master
  7. 将之前新增加的临时分支与你要提交的分支合并 git merge temp
  8. 删除临时创建的分支 git branch -d temp
  9. 最后回去检查一下代码,就会发现解决了问题

5.文件冲突

使用 git 提交代码时若遇到 detached HEAD 的问题不要慌,多人合作总会有一些文件相互都会使用,这个时候A将a.txt 加了一段话,B加了两句话这时候上传就会提示冲突。

解决思路如下
打开冲突文件,修改提示冲突的部分即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值