GitHub及命令行
程序员文章站
2022-07-16 15:36:27
...
GitHub及Git命令
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
官网链接:https://github.com/
Git命令
Git命令:图形化界面操作中每一步都对应着不同的命令。
常用的Git命令:http://www.cnblogs.com/mengdd/p/4153773.html
为什么使用Git命令:
- 更加清楚Git工作的每个细节
- 实际工作中会遇到无法使用图形界面操作的情况
使用github的流程
-
在实际项目开发中,按照如下步骤使用git进行代码管理
- 1.项目经理在开发之初,创建好仓库、dev分支,添加项目组成员,上传项目的框架
- 2.组员克隆项目框架,同步分支,按分工开发,在分支提交代码
- 3.在需要发布时,项目经理将dev分支合并到master上
git将代码开发分成了工作区、暂存区、仓库区,为了能够交换代码还需要有服务器,一般使用github
git四部分的交互方式如下图
Git服务端
创建仓库
注册github账户,登录后,点击”start a project”
在新页面中,输入项目的名称,勾选’readme.md’,添加忽略文件,点击’create repository’
分支管理
- 创建dev分支
添加其他组员
注意:成员的添加需要等待对方同意。
客户端操作
客户端不在使用pycharm,直接使用安装好的git,通过命令与服务器通信。
安装与配置
- 当前ubuntu镜像中已经安装好了git,以下步骤可以跳过
- 安装
sudo apt-get install git
- 安装成功后,运行如下命令
git
Clone服务器仓库
在指定的目录下clone服务器仓库(/home/user/Desktop/Test)
git clone url
代码提交
- 将修改内容添加到暂存区
git add 文件名或路径(./)
- 提交代码到本地仓库
git commit -m '备注'
- 将代码push到服务器
需要输入用户名和密码
git push origin dev(指定分支)
代码更新
- 从服务器pull信息
git pull origin dev[:dev]
说明:pull到当前分支后面内容可以省略
分支管理
- 创建本地分支
git checkout -b 分支名称
例:
git checkout -b itcast
- 查看分支列表
git branch
- 切换分支
git checkout 分支名称
例:
git checkout dev
- 本地分值跟踪服务器分支
git branch --set-upstream-to=origin/分支名称 本地分支名称
例:
git branch --set-upstream-to=origin/dev itcast
保存用户名和密码
在本地的工程文件夹的.git下打开config文件
添加:
[credential]
helper = store
再输入一次用户名密码后就可以保存住了。
添加ssh账户
- 如果某台机器需要与github上的仓库交互,那么就要把这台机器的ssh公钥添加到这个github账户上
- 点击账户头像后的下拉三角,选择’settings’
- 点击’SSH and GPG keys’,添加ssh公钥
- 在ubuntu的命令行中,修改某台机器的git配置
- 修改为注册github时的邮箱,填写用户名,要求组员的用户名不能重复
- 生成git**
- 公钥为id_rsa.pub
- 私钥为id_rsa
ssh-****** -t rsa -C "邮箱地址"
- 查看公钥内容,复制此内容
cat id_rsa.pub
- 回到浏览器中,填写标题,粘贴公钥
- 公钥添加成功后,如下图
推荐阅读
-
js变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级
-
JSP页面的动态包含和静态包含示例及介绍
-
ubuntu14.04 使用中遇到的问题及解决方法集锦
-
如何预防宝宝中暑 宝宝中暑的症状及急救方法
-
凤梨和菠萝的营养价值及功效居然有这些,难怪许多美女每天买着吃
-
CentOS7 LNMP+phpmyadmin环境搭建 第一篇虚拟机及centos7安装
-
东芝推出16TB NAS及桌面硬盘: 512MB超大缓存 274MB/s速度
-
华为荣耀平板怎么样?荣耀平板配置及性价比评测
-
PHP的JSON封装、转变及输出操作示例
-
工信部:持续推进工业半导体材料、芯片、器件及IGBT模块产业发展