版权声明:原创不易,本文禁止抄袭、转载,侵权必究!
一、Git安装与配置
Git安装:
官网下载:
https://git-scm.com/downloads
官网如下:
这里以Windows系统来进行演示:
以下三步默认,直接点击next,之后等待安装,检验一下安装成功与否:
Git配置:
配置用户名和邮箱,如下:
git config --global user.name "用户名"
git config --global user.email "邮箱名"
配置完成后,可以在C:\Users\lenovo下看到一个.gitconfig 的配置文件,里面记录了配置的用户名和邮箱,如下:
二、SSH配置与连接
SSH配置:
Git工具可与github、gitlab、gitee建立连接,而从repository(仓库)下载项目到本地大致有三种方式:HTTPS、SSH、ZIP,开发的时候常采用前2种方式,但用HTTPS建立连接时要权限验证,需要输入用户名和密码,比较麻烦,所以我们直接使用SSH进行连接即可
这里我们以github为例进行演示,为了在本地仓库和远程仓库之间进行免密钥登录,可以配置ssh
1. 生成密钥
以前使用的密钥生成方式:
ssh-keygen -t rsa -C 邮箱名
现在这种方式已经行不通了,会报错,如下:
ERROR: You‘re using an RSA key with SHA-1, which is no longer allowed.
因为github对ssh密钥做了升级,原来的SHA-1,rsa等一些已经不支持了,这里我们可以使用ed25519方式生成新的密钥,如下:
ssh-keygen -t ed25519 -C your-email
此时会在C:\Users\lenovo.ssh目录下生成两个文件,一份公钥,一份私钥:
2. 配置密钥
在配置密钥之前,我们先把github上的默认分支origin改为master,企业开发中都是以master来命名主分支的
在【github】–【settings】–【Repository】 路径下,把origin改为master即可,如下:
然后把公钥id_ed25519.pub文件中的内容拷贝到github上(github – settings – SSH and GPG keys – NEW SSH key),如下:
注意:拷贝进去的时候,尽量不要保留空格
3. 测试连通性
测试连通性的语句(固定写法):
ssh –T git@github.com
如果在C:\Users\lenovo.ssh目录下出现known_hosts文件就说明可以连通:
三、粗暴高效的工作流程
低效率方式:
- 先在本地建立项目
- 然后在远程建立仓库
- 最后将本地项目和远程仓库进行关联
git remote add origin SSH
这样操作就会繁琐,效率低下
粗暴高效方式:
直接在github上建立仓库,如下:
然后copy仓库的SSH链接,如下:
最后clone(克隆)到本地即可,非常简单高效,如下:
git clone <git@github.com:MakerChen66/JavaDevelopment.git>
无损工作方式:
1. 进入到项目的根目录下
参看分支:
git branch
创建分支:
git branch new_branch
创建并切换到刚刚创建的分支下:
git -b branch new_branch
2. 项目修改好之后
参看修改了哪些文件:
git status
将文件放在暂存区:
git add file
git add . // .表示当前目录下的所有文件,慎用
添加注释内容:提交的目的或做了什么修改
git commit –m “注释内容”
推送到远程:
git push
以上就是大致的提交流程,一般情况下是没有问题的,其他特殊情况请看下面
四、其他主要问题
特殊情况:
正式工作中难免有其他特殊问题,大致如下
1. 假如在当前项目的分支下负责人不止你一个,在你push到远程之前,已经有同事先你一步提交到远程仓库了,此时你需要pull(拉取)一下同事提交的代码,默认会合并你的代码,才能push到远程,如下:
git pull
2. 由于一些原因,你push错了,此时需要回退到指定的版本,如下:
方法1:
git log // 查看提交记录
git reset -hard HEAD^ // ^表示回到上一个版本
git reset -hard HEAD~100 // 表示回退到前100个版本
方法2:
git reflog // 查看版本号
git reset -hard 版本号 //回退到指定的版本号,如下:
git reset -hard 4ff91ad
3. 假设你基于master分支创建了test分支用来测试项目的功能,经过一段时间测试之后功能可以正常使用,你需要将test分支的代码合并到master分支正式服运行,此时先检出到master分支,执行合并操作,如下:
git merge test
当然也可以在远程上手工进行合并
五、原文链接
六、作者Info
作者:小鸿的摸鱼日常,Goal:让编程更有趣!
原创微信公众号:『小鸿星空科技』,专注于算法、网络爬虫,网站开发,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!
版权说明:本文禁止抄袭、转载 ,侵权必究!