代码需多人或多设备联合开发时,需要一套好用的代码管理工具,搭配远程代码托管
对代码进行维护、管理。git是目前使用最多的代码管理工具,推荐使用。
免费的远程代码托管有gitee、github等。如果需要网络稳定的个人建议使用gitee。
本文将从工程代码的创建、版本管理、远程托管等三方面进行讲解。

本文的前置条件:

  1. 安卓了git文件
  2. 已有了gitee或github 账号
  3. 具有一定的编码能力

1. 初始化本地git仓库

  • 打开终端,在个人电脑合适的目录位置创建demo工程(文件夹),进到demo文件夹,创建一个README.md
1
2
3
4
5
6
//创建文件夹demo
mkdir demo
//进入demo文件夹
cd demo
//创建一个readMe.md文件
touch README.md
  • 初始化git,并进行首次提交代码到本地。
1
2
3
4
5
6
//在demo文件夹中 初始化git
git init
//把demo下所有文件添加到git暂存区
git add .
//提交暂存区到仓库
git commit -m "first commit"

2. 配置gitee或github的ssh以方便本地电脑访问

使用SSH公钥可以让你在你的电脑和 gitee或github 通讯的时候使用安全连接 (Git的Remote要使用SSH地址)。

配置主要分三个步骤:

  1. 使用秘钥生成工具生成rsa秘钥和公钥
  2. 将rsa公钥添加到代码托管平台
  3. 将rsa秘钥添加到ssh-agent中,为ssh client指定使用的秘钥文件

2.1 在个人电脑上生成SSH密钥

1.检查本地主机是否已经存在ssh key:

1
2
cd ~/.ssh
ls

看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key。如下则说明存在。

1
id_rsa  id_rsa.pub  known_hosts

2.如果不存在,则生成ssh-key

1
ssh-keygen -t rsa -C "xxx@xxx.com"

执行后一直按回车键即可,不用输入密码,设置了密码那每次提交到远程都需要输入密码,麻烦。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ ssh-keygen -t rsa -C linux_york@163.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/linux/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/linux/.ssh/id_rsa
Your public key has been saved in /c/Users/linux/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Y5AsJkoyNnlIo4MXOTxvrej7Tv8yqTw4DUo3CrQYtPI linux_york@163.com
The key's randomart image is:
+---[RSA 3072]----+
| +.. |
|+.O. . . |
|B*+=o.+ |
|*Booo... |
|=o.o . S |
|ooEo. . . |
|ooo+o . |
|..+oo.+ |
| .==o.+. |
+----[SHA256]-----+

linux@little-PC MINGW64 ~/.ssh
//查看一下生产的文件。显示如下则说明已生成好了ssh key
$ ls
id_rsa id_rsa.pub known_hosts

3.获取ssh key公钥内容(id_rsa.pub)

1
2
cd ~/.ssh
cat id_rsa.pub

拷贝id_rsa.pub的内容到剪贴板,等待添加到代码托管平台。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
linux@little-PC MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDijblE2o0M5M2v35nkO1SasWI08
cuFhiIqaY+tJ42eDxoloVC2jGnJeqtl6dW4uX15lowniXNP0eU0xm4hyI+8ghKOTw
TVkzT2We3Edj/mDivRsScTCxyrZfZdjxo4TEuK6oMY8nAHoIvSgKg4yLehSoETIYS
TLh8xNYeNc6DvUuLv59WgB8GMsxbKSHvsU9JxrbIIAu19mykxpmL24nWDPb/TB+mB
/e5ehoJL9B/f0E8XQ9EmkdIShuj1xDA6F2m1ZmDABVCVZzzELBz4rWZhagjzujaWu
j5gNGqkFFm8pEBXDMGc1tvaMSoJcvqPdVx1uWSCCS/IA3rEglFx4vDiLdWj6+GuvD
PiFgT8tXkotAeSgKqWjX4ZZOerPcp9eapKzEqmzKXbtvYUF4B2VPUuZXkiZp40JOC
f0NBD9mXnJyfBb0VpIAsXtUlAZLXQ5rJmZ9qLBopmQ5M38QmYWz0shQydYaKUokBK
8IEkqSSyi+BcMH3lcZf5kfTOZts7hf0= linux_york@163.com

linux@little-PC MINGW64 ~/.ssh

2.2 配置网站的SSH密钥

以 gitee为例。 主要步骤:

  • 登录gitee,点击个人头像的下拉菜单,选择设置
  • 在设置项找到SSH公钥
  • 添加公钥,添加标题(最好区分一下电脑)、拷贝在粘贴板的ssh key内容。

验证是否设置成功:

1
2
3
4
5
6
linux@little-PC MINGW64 ~
$ ssh -T git@gitee.com
Hi yueshichang! You've successfully authenticated, but GITEE.COM does
not provide shell access.

linux@little-PC MINGW64 ~

设置成功后,即可不需要账号密码pull和push代码.

3. 配置gitee远程仓库

  • 登录gitee,新建仓库。
  • 配置仓库名:demo
  • 配置归属/路径:york/demo
  • 输入以上会 自动生成仓库地址:https://gitee.com/linux_york/demo
  • 配置私有或开源:如果不打算公开就选私有,后续也可以修改。
  • 点击创建。

查看仓库列表就会多一个demo的仓库,但是无任何文件。拷贝仓库地址到剪切板:

1
2
3
4
5
6
//这里可以选择用http还是ssh,因为我们已经配置了ssh,不妨就用SSH。

HTTPS:
https://gitee.com/linux_york/knowledge.git
SSH:
git@gitee.com:linux_york/demo.git

4. 建立本地仓库与远程gitee远程仓库连接

在电脑上的demo工程文件夹下,输入命令:

1
git remote add origin git@gitee.com:linux_york/demo.git

查看远程仓库情况:

1
2
3
4
$ git remote -v
origin git@gitee.com:linux_york/demo.git (fetch)
origin git@gitee.com:linux_york/demo.git (push)

表明本地已经添加了与远程git@gitee.com:linux_york/demo.git的连接。

如果需要修改或取消与远程的连接,可使用:git remote remove origin 命令先断开 origin 的连接。

要想再建立连接就再使用 git remote add 命令添加即可。

1
2
3
4
5
6
7
//git remote add <name> <url>。 <name>可以是 origin、test等。<url>是远程路径。

$ git remote add test https://gitee.com/linux_york/demo.git

$ git remote -v
origin https://gitee.com/linux_york/demo.git (fetch)
origin https://gitee.com/linux_york/demo.git (push)

5. 推送本地代码到远程服务

首先,更新remote索引,同步远程信息

1
git fetch
  1. 推送代码到远程服务器
1
git push -u origin "master"
  1. 从远程拉取分支
1
git checkout -b localBranch origin/master
  1. 更新本地分支,保持与服务器一致
1
git pull origin master
  1. 删除远程分支
1
git push origin --delete branch_name 

至此,远程代码托管基本介绍完了。