Git学习整理

远程仓库起步(这是进行远程仓库操作的基础)

  1. 初次使用需配置用户名和邮箱
    git config --global user.name "godheaven007"
    git config --global user.email 345777292@qq.com

  2. 在~目录查看是否有.ssh目录,并查看.ssh内部是否有私钥id_rsa公钥id_rsa.pub,若不存在,则执行一下命令生成)
    ssh-keygen -t rsa -b 4096 -C "345777292@qq.com"(具体参考GitHub)

  3. 公钥id_rsa.pub添加至GitHub中

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

克隆远程仓库至本地(针对GitHub上所有可见仓库)

  1. 在本地使用命令git clone git@github.com:godheaven007/blog.git gitName,克隆线上仓库,其中gitName默认为线上仓库名称,可以修改为你想要的名称
  2. 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin,可以用git remote -v查看相应信息

向自己的远程仓库提交版本

  1. 关联远程仓库 git remote add origin git@server-name:path/repo-name.git,其中origin是远程仓库的别名,可以起其他名字。关联后,使用命令git push -u origin master第一次推送master分支的所有内容

  2. 在对文件修改时,请确保本地仓库版本与远程仓库版本保持一致。可以总结为:先pull再push
    即先git pull origin mastergit push origin master

  3. 其他相关命令

  • git remote -v 查看远程库信息;
  • git remote remove origin删除与远程仓库的连接
  • git push -f origin master强制推送,会覆盖别人代码(绝大部分情况请不要这样做)
  • git remote set-url origin git@server-name:path/repo-name.git修改origin关联的远程仓库地址

向别人的远程仓库提交版本

请确保别人给了你提交的权限

分支管理

分支相关命令

  • git branch 查看本地分支
  • git branch -a 查看本地分支、远程分支
  • git branch branchName 从当前分支创建新分支
  • git checkout branch 从当前分支切换至指定分支
  • git checkout -b newBranch 从当前分支创建新分支并切换至该分支
  • git branch -d branch 删除分支(不能在当前分支删除自身)
  • git branch -D branch 强行删除一个没有被合并过的分支
  • git merge branch 将指定分支合并至当前分支

分支策略

实际开发中,通常以master作为线上稳定分支,进行项目的发布,develop分支为开发分支,各个开发成员基于develop分支,单独拉取自己的分支,再开发完成的代码合并至develop分支。

bug分支

  1. 【线上紧急bug】
    基于master分支,创建hotfix分支,修改完成后合并至master分支,经测试无误后再推送至远程master分支

  2. 【功能开发至中途,需解决紧急bug】
    git stash命令将案发现场保存起来,等bug修复完毕之后,再通过git stash apply恢复,继续之前被中断的开发任务
    关于stash的其他命令

    • git stash list 查看保存的案发现场
    • git stash apply stash@{0} 恢复案发现场, stash内容不删除,必须通过git stash drop stash@{0}命令手动删除
    • git stash pop stash@{0} 恢复案发现场的同时,一并将stash内容删除

多人协作

  1. git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

其他相关命令:

  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

其他常用命令整理

  • git init 新建仓库
  • git add添加至暂存区
  • git commit -m "something described"将暂存区内容提交至本地仓库
  • git commit -am "something described或者上面二者结合
  • git reset HEAD index.html将暂存区内容撤销至工作区
  • git checkout -- index.html放弃工作区中对文件的修改
  • git status命令提示操作
  • git log --pretty=oneline --graph只显示commit的版本
  • git reflog显示commitresetremove版本
  • git reset --hard commit_id回退至某一个版本

参考文章:

  1. 廖雪峰Git
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 之前参照莫烦的Git教程整理过一遍Git总结,后来使用Git的时候发现还是有很多操作一知半解,所以再次梳理下Git...
    忆江南_1569阅读 3,633评论 2 0
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,667评论 9 163
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 9,239评论 0 13
  • 第一次认识桌面文化是两年前通过zealer官网,王自如介绍自己的办公室开始,相信很多人也跟我一样吧,从那时候才发现...
    Creator_Ly阅读 13,202评论 19 12
  • 你必汗流满面才得糊口, 直到你归了土, 因为你是从土而出的。 你本是尘土, 仍要归于尘土。 ——《圣经》 文丨旧故...
    旧故麻袋阅读 3,704评论 0 3

友情链接更多精彩内容