广西网站建设营销公司,服务于中小企业建网站,微信小程序服务器,wordpress用户注册邮件内容自定义文章目录 前言一、Git 和 Gitee 建立联系1.1 任意目录下#xff0c;打开 git bash 命令行#xff0c;输入以下命令生成公钥1.2 配置SSH公钥1.3 进行全局配置 二、其它相关Git指令2.1 常用指令2.2 指令操作可能出现的问题 三、补充3.1 **为什么要先commit#xff0c;然后pull… 文章目录 前言一、Git 和 Gitee 建立联系1.1 任意目录下打开 git bash 命令行输入以下命令生成公钥1.2 配置SSH公钥1.3 进行全局配置 二、其它相关Git指令2.1 常用指令2.2 指令操作可能出现的问题 三、补充3.1 **为什么要先commit然后pull然后再push我pull了岂不是把自己改的代码都给覆盖掉了嘛因为远程没有我改的代码我pull岂不是覆盖了我本地的改动好的地方了那我还怎么push**3.2 两个分支A和BA合并B和B合并A有区别吗   前言 
上一篇文章讲了如何安装和使用git版本控制工具。 但说起版本控制怎么少的了团队协作如果下班啦不想带电脑晚上还想继续搞怎么办 那就使用码云、github在线管理吧 
数字化管理平台 Vue3ViteVueRouterPiniaAxiosElementPlus 权限系统-商城 个人博客地址 
一、Git 和 Gitee 建立联系 
1.1 任意目录下打开 git bash 命令行输入以下命令生成公钥 
ssh-keygen -t rsa -C 邮箱回车出现 y/n, 输入 y , 连续点击回车即可生成效果如下 1.2 配置SSH公钥 打开目录 C:\Users\Dell\.ssh 目录找到 id_rsa.pub 文件使用记事本打开 注意不同电脑用户目录有所差异   返回到浏览器中找到刚刚云端仓库创建完成的 gitee 页面 右上角找到个人信息点开找到 ”设置“ 并打开 3. 设置页面如下   找到左侧栏 ”安全设置“ 中的 ”SSH公钥“点击后如下   
生成公钥的官方指导步骤https://gitee.com/help/articles/4191#article-header0 
默认公钥数量为 0在 ”添加公钥“ 栏目下添加 ”标题“ 和 ”公钥“ 
注标题名字为自定义 公钥为刚刚用记事本打开的 ”id_rsa.pub“ 文件中的内容 
粘贴完成后点击确定。此时就会显示 ” 您当前的SSH公钥数1 “。 
1.3 进行全局配置 
输入以下指令 
git config --global user.name 你的用户名
git config --global user.email 你的邮箱将纳入版本库的文件提交到 gitee 远程仓库 
git remote add origin 你的仓库地址
git push -u origin master此时提交完成打开浏览器输入你的仓库地址 ,如 https://gitee.com/magnumhou/test.git 即可看到上传文件 二、其它相关Git指令 
2.1 常用指令 
查看当前分支git branch查看包含远程分支在内的所有分支git branch -a创建分支git branch 切换分支git checkout 创建切换分支git checkout -b 推送本地分支到远程分支 (远程和本地分支需同名)git push origin :如果本地分支未与远程分支建立关联拉取远程代码需执行git pull origin 也就是需标明拉去远程的具体分支名*合并某分支到当前分支git merge 删除本地分支git branch -d 删除远程分支git push origin : 或 git push origin --delete git clone 项目地址 下载或克隆别人的项目到本地git status 查看被修改的文件git diff 文件 查看指定文件修改的内容git reset --hard HEAD^ 回退到上一个版本git reset --hard HEAD^^ 回退到上上个版本git reset --hard HEAD^…^ 回退到上N个版本当然这是比较麻烦的可以使用以下简化git reset --hard HEAD~100 回退到上100个版本git reset --hard HEAD commit id 通过指定id回到未来某个版本可以通过 git log 查看提交历史 
2.2 指令操作可能出现的问题 
git pull 将远程主机的最新内容拉下来后直接合并 可能会出现冲突 
git pull origin master  // 拉取主分支最新代码手动解决冲突pwd 查看当前目录所在的系统文件路径 
三、补充 
3.1 为什么要先commit然后pull然后再push我pull了岂不是把自己改的代码都给覆盖掉了嘛因为远程没有我改的代码我pull岂不是覆盖了我本地的改动好的地方了那我还怎么push 
这个先 commit 再 pull 再 push 的情况就是为了应对多人合并开发的情况 
commit 是为了告诉 git 我这次提交改了哪些东西,不然你只是改了但是 git 不知道你改了,也就无从判断比较;pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来,这个时候就需要先把和你冲突的那个人拉过来问问保留谁的代码,然后在 git add  git commit  git pull 这三连,再次 pull 一次是为了防止再你们协商的时候另一个人给又提交了一版东西,如果真发生了那流程重复一遍,通常没有冲突的时候就直接给你合并了,不会把你的代码给覆盖掉出现代码覆盖或者丢失的情况:比如A B两人的代码pull 时候的版本都是1,A在本地提交了2,3并且推送到远程了,B 进行修改的时候没有commit 操作,他先自己写了东西,然后 git pull 这个时候 B 本地版本已经到3了,B 在本地版本3的时候改了 A 写过的代码,再进行了git commit  git push 那么在远程版本中就是4,而且 A 的代码被覆盖了,所以说所有人都要先 commit 再 pull,不然真的会覆盖代码的 
3.2 两个分支A和BA合并B和B合并A有区别吗 
两个互相合并的唯一区别就是 A-B 的时候 B 分支上会产生一个 merge_commit 的信息,这个时候 B 是合并状态而 A 未合并状态,如果现在没有发生任何改动执行 B-A 就直接切换过去了,连 merge_commit 都不会生成了