一、安装 Git * 如果你已经安装好了 Git,可以忽略这一步
CentOS 安装 Git: yum install git
查看 Git 版本信息: git version
配置 Git 用户信息:
git config --global user.name "woider"
git config --global user.email "woider@gmail.com"
↑ 把用户名和邮箱换成你自己的,键入命令后屏幕没有输出,则表示设置成功了
二、开启 SSH 服务
如果你使用的是 CentOS,则默认开启了 SSH,可以忽略这一步
查看 SSH 服务状态: ps -e | grep sshd
[root@jason-test .ssh]# ps -e | grep sshd 2202 ? 00:00:00 sshd 9991 ? 00:00:00 sshd 9993 ? 00:00:00 sshd
↑ sshd 表示 ssh-server 已启动
三、生成 SSH KEY
使用 ls -al ~/.ssh 命令查看 ssh key 是否存在,若存在则忽略这一步
生成 SSH KEY: ssh-keygen -t rsa -C "nova12315@163.com"
[root@jason-test ~]# ssh-keygen -t rsa -C "nova12315" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:omUis5KsSlW+nSKERGl3v5BWCcCu5L7O6dsf1J3LuJw nova12315 The key's randomart image is: +---[RSA 2048]----+ | .o.... . | |.o o . o | |..o ..+ | |....o+... . | |o.+ooo=.So | |.+o+.=oo+ . | |+o...+ + o | |+oo . + o | |*Bo... E | +----[SHA256]-----+
`
↑ 生成 ssh key 过程中,会让你填写 passphrase,连按三次回车跳过即可
================SSH KEY===================
查看 SSH KEY 进入 /root/.ssh 目录,查看 id_rsa 和 id_rsa.pub 文件:
[root@jason-test .ssh]# ls -a
. .. authorized_keys id_rsa id_rsa.pub
↑ id_rsa 为私钥,id_rsa.pub 为公钥
四、复制 SSH KEY
打开 id_rsa.pub 文件,将内容复制到剪贴板: vim id_rsa.pub
[root@jason-test .ssh]# more id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0/dddoBriBhbbsbo3FMpgHlP5nDxlZ0X00jOEspNnlCSnUHWtsmevXsOhMqBcVdQNQv7uAT/ot5A
KiVSJRtm+lrQMqE+1OYP1I34PejXDm2B1CFrH6GarmNmhpzopX+25EeNXQW4MVjMevOgBl2DoKzTRNvpsPikJHw29KixVwUx5U4idOSmyGRtHv4WOBp
nLz04jdWTuiiQVEVjbDNhF+cWjRPpB5nrQFUU/1JgxTBbedacz73coTX8GieZzmroy5Y+sg8J8CN7S3AfO8YmI7Y6X3IijkqJsTkzVsbt2bsby8jFLG
G90al7ehhuzI3uIxyUo9uBgVjjnSdClScd3 nova12315
↑ SSH KEY 公钥,用于 GitHub 身份验证
五、添加 SSH KEY
登录 GitHub,打开 Personal settings 页面,选择 SSH and GPG keys 选项:
↑ Title 可以随意填写,Key 中填写刚从 id_rsa.pub 中拷贝的内容
添加 SSH key 之后,Linux 就可以通过 SSH 建立本地 Git 与 GitHub 的连接了。
================GitHub===================
六、创建GitHub仓库
↑ 创建一个名为 studypy的仓库
↑ SSH 地址为 git@github.com:woider/baidu.git
七、克隆仓库到本地 通过 SSH 地址将 GitHub 仓库克隆到本地:
git clone git@github.com:woider/baidu.git
[root@jason-test .ssh]# git clone git@github.com:nova12315/studypy.git
Cloning into 'studypy'...
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 1), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (5/5), done.
Resolving deltas: 100% (1/1), done.
↑ 第一次连接时,需要你确认 GitHub 的 Key 的指纹信息是否真的来自 GitHub 的服务器。
克隆到本地的仓库会自动关联远程仓库,可以通过 git remote -v 命令查看关联状态:
[root@jason-test .ssh]# git remote -v
origin https://github.com/nova12315/studypy.git (fetch)
origin https://github.com/nova12315/studypy.git (push)
↑ 关联后可以通过 git push origin master 命令推送修改
git 文件的推送和下载
1、首先来设置使用 Git 时的姓名和邮箱地址:
git config --global user.name "your_userid" //your_userid你的名字
git config --global user.email "your_email" //你的邮件
2、 要使用Git进行版本管理,必须先初始化仓库。Git是使用git init命令进行初始化:
git init
3、 要想让文件成为 Git仓库的管理对象,就需要用 git add命令将其 加入暂存区中:
git add README
4、提交项目:
git commit -m 'first commit' //first commit 为你需要提交的文件名
5、 把本地库的内容推送到远程库上:
git push origin master
6、 删除项目:
删除文件:
rm README
使用 git status 命令,你将看到一个新的未跟踪文件
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: README
no changes added to commit (use "git add" and/or "git commit -a")
使用命令开始跟踪一个文件 这里我们是删除
git rm README
此时再运行 git status 命令,会看到 README 文件已被跟踪 最后提交上去即可:
git commit -m 'delete file'
git push origin master
如果只是想在暂存区删除文件跟踪,不想删除本地文件,使用命令:
git rm –cached README
这样commit的时候不会提交这个文件。
10、 查看日志: git log命令可以查看以往仓库中提交的日志。
11、 后记,添加一个完整项目到GitHub: 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。
通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。
创建gitignore隱藏文件
vi .gitignore
写入:
.gitignore
*.[oa]
*.o.d
表示为:gitignore本身文件
第一行告诉 Git 忽略 第二行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。 第三行告诉 Git 忽略所有以.o.d结尾的文件 .gitignore的格式规范: A:#为注释 B:可以使用shell所使用的正则表达式来进行模式匹配 C:匹配模式最后跟”/”说明要忽略的是目录 D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件)
然后把项目代码复制到目录下:
cp -r /work/apply/v4l2_camera/* .
添加到暂存区:
git add *
最后提交即可:
git commit -m 'add camera code'
git push origin master
最后在我的GitHub即可看到代码: