git使用与代码托管
平时自己写的简单程序文件太多,可以放到代码托管的网站。比如国内的gitee.com, 好吧,只是把这个网站当网络云盘用了。在gitee网站上加上程序运行环境,使用文档,写好README.md使用介绍。而在这些代码托管网站上传下载代码就要用到git这个软件。git是个工具,需要在linux上安装好。其他代码网站github也是一样的git用法。
git的使用视频教程:https://www.bilibili.com/video/av58666078/
记录下上传的第一个项目(传个简单的一个c文件)
gitee上增加编译电脑的key
首先准备一个key pair用于gitee安全认证。在自己编译电脑上生成一个key,私钥保存在本地电脑,然后把public key(ssh_rsa)加到gitee上。这样公钥加密代码,下载到本地电脑后私钥解密。这样就达到安全认证的作用。
生成key
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pc/.ssh/id_rsa):
Created directory '/home/pc/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pc/.ssh/id_rsa.
Your public key has been saved in /home/pc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:gGQQ8AfmHB6ccsJffV6FGgsNrqhPY0pnRcZhimhXhJg pc@pc-container
The key's randomart image is:
+---[RSA 2048]----+
|ooX+==..o o. |
|+E=B=ooo + o |
|.**o++..+ = |
|. .o+ .. + |
| . o S |
| . . |
| o * |
|. B . |
| . . |
+----[SHA256]-----+
复制public key到gitee
pc@pc-container:~$ cat /home/pc/.ssh/id_rsa.pub
ssh-rsa AAA5u8XP1fZHmj62x6R65dbeBSZ pc@pc-container
gitee上保存public key。以后这台电脑下载的代码都用这个public key加密。

创建仓库
gitee上自己可以创建仓库,以后这个项目的代码就可以提交到这个仓库保存。创建并不复杂,可以看到仓库创建好后的样子。点击克隆下载可以获得仓库的网址,这样在本地电脑就可以用这个网址clone这个仓库的代码。

下载gitee上的代码
上面已经创建好了仓库,并得到了仓库的网址。本地电脑是还没有这个仓库的代码/文件的。直接clone代码
1.新建一个保存代码的目录
pc@pc-container:~$ mkdir git
2.目录初始化,这样本地就有了一个仓库
pc@pc-container:~$ cd git
pc@pc-container:~/git$ git init
Initialized empty Git repository in /git/.git/ 根目录下创建.git的隐藏目录
3.下载代码,clone的地址从gitee上branch点clone获得
pc@pc-container:~/git$ git clone https://gitee.com/code_example.git
Cloning ...
提交代码
可以自己随便写个c文件,提交到remote仓库上去试试看。
保存到本地仓库
查看改动
pc@pc-container:~/git$ git status
Your branch is up to date with 'origin/master'.
modified: ipv4.c 自己写的c文件
保存改动
参考git工作原理:本地仓库、远程仓库
$ git add ipv4.c
commit
将要提交改动的文件进行注释
第一次会要求填邮箱信息
pc@pc-container:~/git$ git config --global user.email "user@com.cn"
pc@pc-container:~/git$ git config --global user.name "user"
提交文件的注释
pc@pc-container:~/git$ git commit -m "ipv4文件提交"
push 提交代码
提交到远端仓库
pc@pc-container:~/git$ git push
Counting objects: 19, done.
push之后在gitee上可以看到提交上来的文件。
如果git提交上去后发现改坏了程序,git也可以很方便的回退到以前这个项目任意时刻的版本。git还有很多其他操作命令,参考资料也很多。
参考
git操作教程:https://www.liaoxuefeng.com/wiki/896043488029600
命令:https://zhuanlan.zhihu.com/p/25868120
精通Git(第2版)作者: Scott Chacon / Ben Straub 出版社: 人民邮电出版社 原作名: Pro Git 出版年: 2017-9
git使用与代码托管的更多相关文章
- 使用百度云同步盘和Git Extensions进行代码托管
一.软件安装 百度云同步盘和Git Extensions的安装和配置略过. 二.建立Git代码库,以[GHO2VMDK转换工具]项目为例 1. 建立本地代码库 进入[GHO2VMDK转换工具]项目文件 ...
- 代码托管工具 git
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- GIT → 04:Git与代码托管平台
4.1 Git 与 GitHub比较 Git 是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,后面虽然修改过,但是通过git这个工 ...
- 国内2大Git代码托管网站
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- 软件工程 Coding.net代码托管平台 Git初学者的使用总结 五步完成 程序,文件,文件夹的Git
一.前言 第一次用git相关的命令行,我使用的是Coding.net代码托管平台.Coding.net 自主打造的基于 Git 的代码托管平台,提供高性能的远端仓库,还有保护分支,历史版本分屏对比. ...
- oschina(开源中国)的Git代码托管平台使用教程
oschina(开源中国)的Git代码托管平台使用教程 第一章 平台介绍 一. Git@OSC简介 开源中国的Git@OSC一个账号最多可以创建1000个项目,包含公有和私有,开源中国代码托管地址:h ...
- Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
一.Git是什么? Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别? ...
- Windows 下使用git 将代码托管到开源中国-(http://git.oschina.net/)
一.准备工作 当然是准备在windows 下使用需要的环境,和工具. msysgit 下载地址:http://msysgit.github.io/ TortoiseGit 下载地址:https:// ...
- 程序员必须知道的几个Git代码托管平台
上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...
- 支持Git的代码托管网站
支持Git的代码托管网站: https://github.com/https://code.google.com http://www.codeplex.com/ http://git.oschina ...
随机推荐
- PHP全栈开发(五):PHP学习(1.基础语法)
PHP脚本在服务器上执行,然后将纯HTML的结果返回给浏览器. 听上去很厉害的样子,所以说PHP是服务器端的语言啦.HTML才是前端啦. PHP文件的默认文件扩展名是".php" ...
- HDU1114 Piggy-Bank (完全背包)
完全背包模板,和01背包相比不用倒推,因为一种可以选多个. 这道题求最小,dp数组初始化为无穷即可. 1 #include<iostream> 2 #include<cstring& ...
- Java学习之路:流程控制
2022-10-11 10:58:41 前言 本文开始流程控制方面的学习,主要包括用户交互和流程控制语句,适合新手学习. 1 用户交互Scanner 1.1 Scanner对象 Java提供了一个可以 ...
- Kafka之 API实战
Kafka之 API实战 一.环境准备 1)启动zk和kafka集群,在kafka集群中打开一个消费者 [hadoop1 kafka]$ bin/kafka-console-consumer.sh \ ...
- spark之交集并集差集拉链
spark之交集并集差集拉链 def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster(&qu ...
- Java注解(2):实现自己的ORM
搞过Java的码农都知道,在J2EE开发中一个(确切地说,应该是一类)很重要的框架,那就是ORM(Object Relational Mapping,对象关系映射).它把Java中的类和数据库中的表关 ...
- Educational Codeforces Round 138 (Rated for Div. 2) A-E
比赛链接 A 题解 知识点:贪心. 注意到 \(m\geq n\) 时,不存在某一行或列空着,于是不能移动. 而 \(m<n\) 时,一定存在,可以移动. 时间复杂度 \(O(1)\) 空间复杂 ...
- 关于 Vue 中 h() 函数的一些东西
最近在项目上需要一个信息弹窗,来显示信息.一开始只让它弹出了文字,而且只有一条信息.而给我的需求是多条文字和图片,而后我使用了element ui中的 Notification 通知组件来显示.当然, ...
- Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)
一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...
- JS中的键盘Keycode
常用的keycode 组合键 if ((window.event.ctrlKey)&&(window.event.keyCode==49)) alert("您按下了CTRL+ ...