一.什么是git和github,以及二者的区别
git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原
github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。
git可以认为是一个软件,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。
二.安装与使用
github注册 地址:https://github.com/
按照步骤注册完毕之后记住自己的username和email
1.Linux系统下git的安装:
(1).打开终端,输入 sudo apt-get install git
验证是否能连接上github
ssh -T [email protected] 出现是否确定想要继续连接,输入yes,会出现警告提示如下
warning:Permanently added "github.com....."
Permission denied(publickey)
这样表示正常是能够链接上的
( 2).设置SSH Keys
通过SSH方式对对github进行push/pull操作都需要设置好SSH进行安全验证,当然,也可以选择https方式进行传输
进行该步操作需要进入~/.ssh文件夹下
cd ~/.ssh
ls
能够看到此时文件夹下应该只有一个know_hosts
接下来创建rsa公钥:
ssh-keygen -t rsa -C "github注册的邮箱"
id_rsa(私钥)和id_rsa.pub(公钥)这两个文件被创建了
查看id_rsa.pub的内容:
gedit id_rsa.pub
在GitHub中,依次点击Settings -> SSH Keys -> Add SSH Key,将id_rsa.pub文件中的字符串复制进去,注意字符串中没有换 行和空格。
这时候就可以cd退出~/.ssh
配置git:
git config --global user.name "你的github用户名"
git config --global user.email "你的github邮箱名"
创建本地文件夹
mkdir Test
cd Test
git init 本地仓库初始化
touch ReadMe 添加一个ReadMe文件。ReadMe是一个文件名,可以随便起名字
git add ReadMe 将修改保存到缓冲区
git commit -m "add readme file" 推送本地修改到本地库中。“ ”中是本次提交的说明,可以输入任何内容,可以从历史记录里方便的找到改动记录
本地仓库连接github仓库,需要实现在github网站中创建好仓库
git remote add origin https://github.com/你的github用户名/你的github仓库.git
或者 git remote add origin [email protected]:你的github用户名/你的仓库名.git 取决于你选择的链接方式是https还是ssh
git push origin master 如果失败了,报错是拒绝了你的更新,可以先git pull将github上该仓库中的内容更新到本地,然后再进行git push origin master,或者可以强制上传直接覆盖掉仓库里的文件,不建议使用,命令为git push –u origion +master
如果使用https链接可能要求输入帐号密码,按要求输入github的帐号密码即可
从github将仓库clone下来
git clone https://github.com/你的github用户名/github仓库名.git 或者git clone [email protected]:你的github用户名/github仓库名
参考教程:https://blog.csdn.net/qq_38716242/article/details/79380825
三.pull和push的步骤:
1.首先创建一个文件夹(直接建立在home下面,方便之后移动文件使用)
mkdir PeparationLearning 其中PeparationLearning为你建立的文件名
2.进入文件夹
cd PeparatinLearning
3.移动你的代码到PeparationLearning下面
4.本地仓库初始化
git init
5.与github仓库建立远程链接
git remote add origin [email protected]:你的github用户名/你的github仓库.git
6.拉取github上的内容
git pull origin master
7.将你的代码放到你对应的文件夹下面
sudo mv 你想要移动的文件夹或者文件路径 PeparationLearning
例如sudo mv 下载/Test PeparatinLearning 从下载中把文件夹Test移动到PeparationLearning
8.跟踪文件
在第七步中,我们只是把文件移动到了本地的文件夹中,我们想要上传这些文件就必须跟踪他们
git add . 点代表提交所有,如果只是提交单个文件可以直接输入它的名字
如果你提交的东西并不是你想要的可以使用git reset HEAD "文件名"(可能做以上的操作会造成我并没有遇到过的错误,所以最好确认所有东西是自己需要提交的)
9.提交文件
git commit -m "注释" 提交文件到本地仓库中,需要注意的是注释是必须写的,他记录你每一步操作的目的是什么,在早期可能随便起个名字,但是团队合作项目的时候就必须严谨的声明注释,能让其他人知道commit是为了做什么,对什么进行了改动
10.上传到github上
git push origin master 上传到远程github远程仓库的master分支上,origin就相当于你远程仓库的别名,通过git remote -v可以查看到
要记住的是,都是先pull再push,因为不是只有一个人在push到远程仓库,可能A在push完了之后,B也push了,下次A想做操作已经不是它当初push的样子
要拿到最新的github仓库中内容,先pull下来再做更改。这时候才能上传上去。每一次上传都要满足下述步骤
步骤:git pull; 做更改; git add; git commit; git push
在这个过程中可以通过git status 来查看状态,如果出现错误无法push或者pull看看自己是不是没跟踪文件,或者没提交修改