使用 vs code 与 git 命令行 进行团队开发
一. 将拉取项目到本地
- 首先在 git 编辑器上使用 git clone https://gitee.com/xx.git (码云/github仓储地址)命令将项目拉到本地
- 也可以下载压缩包 使用git基础命令把本地项目与远程仓储建立连接
- 远程仓储地址有 ssh和https 两种
- ssh 需要配置 ssh 公钥,好处是以后每次往远程仓储推代码和往下拉代码不需要输入用户名和密码 配置方法下文有
- https 不要配置其他, 就是每次拉代码和推代码需要输入用户名和密码
- 如果不成功可能有的几个原因
- 没有设置ssh密钥
- 用户名与密码没有与git进行关联
- 用户名和密码错误 使用git config --global user.name “自已的名字” 和git config --global user.password “密码” 更改用户名和密码
- 提示输入用户名和密码时,用户名是你登录远程仓储的用户名和密码
二.工作实际操作
- 项目 git 结构
- master (主分支,不轻易操作)
- dev 开发分支
- 基于dev 创建自己的分支
- git clone 下载的项目一般是master分支中的内容,并不是最新的.
- 可以使用命令行 git branch xx (要创建分支的名字)
- 使用 vscode 点击右下角 切换分支 有选项创建新分支
- vscode中如没有分支状态,点击 查看/外观/显示状态栏
- 关于关联远程仓储
- git clone 路径 拉下来的项目会自动关联远程仓储
- 下载压缩包的项目,需要使用命令行关联远程仓储
- git remote add origin https://github.com/nevermo.git (远程仓储地址)
- 提交代码
- 按照下文 git 基础命令 一步步提交代码
- 冲突出现原因
- 产生:多个开发者同时使用或者操作git中的同一个文件,最后在依次提交和push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉)和pull(push)操作的时候,就会报冲突异常conflict。
- 解决:保留自己修改的数据,同时保留别人的数据信息
- 总体思路: 将某个分支合并到某个分支里
- 以下实例 是将 自己的分支 test分支的代码提交合并到dev 分支
- 将代码先提交到自己的分支中,确认提交无误; ( 基础命令 提交到自己test分支 )
- 使用 git branch 查看分支
- 使用 git checkout dev (要切换到哪个分支)
- git pull (将dev最新的代码拉下来, 如果不将dev分支最新代码拉下来冲突会更多,)
- git merge test (将test分支 合并到dev 分支)
- 会显示是否有冲突,如果有冲突显示冲突在哪,按照提示一步步解决, 在vscode中会显示哪有冲突,手动更改
- 解决完冲突的代码, git push 提交到dev分支
- 如果你的分支 没有最新数据, 就将过程在一遍,
- git checkout test 切换分支
- git pull 拉最新数据
- git merge dev 在test中在合并dev 分支代码
- git push
- 在整个解决冲突的过程中,注意命令行和页面报错信息
- 如果某些操作不当,导致仓储乱了,下文也有后悔药提供给大家
分享git基础命令
- git init --> 初始化本地.git文件
- git add . --> 将修改过的文件添加到暂存区
- git commit -m ‘xx描述信息’ --> 将文件永久性从暂存区提交到本地存储区
- git remote add origin https://github.com/nevermo2013/1904-git-learn.git 跟远程仓库建立连接
- git push -u origin master (要提交到哪个分支) --> 首次推送到远程仓储
- git push 默认推送
- git status 查看文件保存状态
- git checkout xxx.html 把文件单独捡出 (慎用)
- git config --global user.name “自已的名字” --> 配置用户名 如果不加用户名 是查找用户名
- git config --global user.email “自已的邮箱地址” --> 配置邮箱
- –global 配置当前用户所有仓库
- –system 配置当前计算机上所有用户的所有仓库
gitignore
- 项目上传需要忽略的文件
分享git分支命令
- git branch xx 创建分支(在当前的代码上克隆一份代码备用)
- git branch 查看所有分支 有* (HEAD)为当前代码所在分支
- git checkout xx 切换到xx分支
- git merge xx 在当前分支 合并xx 分支到当前分支
- git branch -d xx 在当前分支上 删除其他分支
关于远程仓储
- git remote add origin https://github.com/nevermo2013/1904-git-learn.git 跟远程仓库建立连接
- git remote -v 查看远程源
- git push -u origin master 建立连接后的首次推送, 推送的主分支
- git push 默认推送
- git push origin xxx 在当前分支 推送到远程分支
关于clone
- git clone https://github.com/nevermo2013/1904-git-learn.git dev-home(将新建文件dev-home)
- git pull 将远程仓库最新内容拉下来并合并
- git pull 如果冲突 手动合并
- 需要先clone下来 进行修改 在提交 提交时将远程仓库内容拉下来并合并
关于git后悔药
- git log 查看提交的历史 (git文件中有个文件单独放SHA 值d的)
- 得到SHA值(唯一) commit ab70206749e292e86a11918c032b1d0de5ebc2be
- git reset --hard xxxx(SHA值) 回到某次提交之前
关于gitblit
- ssh-keygen -t rsa -C “youremail@example.com” 创建sshkey,下一步一步步…
- C:\Users\Administrator.ssh ==> id_rsa.pub
- github添加ssh公钥 https://github.com/settings/keys
- 进入主账号 --> 用户界面 -->添加用户–> 两个允许 --> 保存
- 点击用户中心 --> SSH Keys (git生成sshkeys密钥)
简单理解git工作流程
- 工作原理
- 有三个工作状态;已修改(modified).已暂存(staged)和已提交(committed).
- 基本的 git 工作流程如下
- 在工作目录中修改文件
- 暂存文件,将文件的快照放入暂存区域
- 提交文件,找到暂存区域文件,将快照永久性存储到git仓库