Git的基本使用
Git的基本使用,及配置公钥。
Git是什么?
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。通俗来说就是,帮助你管理代码。
Git下载
官网地址(https://git-scm.com/downloads),进去之后选择系统。然后有有两个版本,下面那个是Portable(便携版),比较适合安装在U盘等便携设备上,这里推荐安装上面的版本。
整个安装过程除了选择安装路劲基本都是下一步。
Git的工作流程
先了解下Git的几个核心概念:工作区、暂存区、仓库区和远程仓库。
workspace:是工作区,平时放代码或者文件的地方。
Index:是暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
Repository:是仓库区,用来安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
Remote: 是远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换,其中远程仓库主要是Github和Gitee。
工作流程:
首先创建一个本地仓库也就是仓库区,有两种方法,一是初始化一个空仓库,二是克隆远程仓库。然后在工作区把代码添加(add)到暂存区,在暂存区提交(commit)到仓库区,最后推送(push)到远程仓库。
Git的基本使用
安装完成后,点击鼠标右键会出现Git GUI Here和Git Bash Here
Git Bash是Git配套的一个控制台,至于Git GUI是Git的图形界面的使用方式,还没仔细研究,等下次弄明白了在分享给大家。Bash中可以使用Linux的命令创建文件,目录什么的。
打开控制台就如下图
创建本地仓库:
第一种初始化本地仓库
输入完指令(git init)就会在文件夹中创建一个 .git文件相当于是本地仓库了,这是一个隐藏文件。
在查看中把隐藏的项目勾选上,不然看不见。
第二种克隆远程仓库
输入指令(git clone 远程仓库的链接),远程仓库的链接就去复制GitHub或者Gitee上找一个开源项目的链接或者自己创建一个用来练习。
例如这样复制链接,这是Gitee,GitHub也是一样的。
复制完连接后就在目标文件中打开Git Bash,然后输入指令,就会自动下载到目标文件中去。
创建本地仓库之后,假如我现在多了一个python的main.py文件想上传到远程仓库去。
输入git add .(后面有个.)这是把工作区所有的文件都添加到暂存区中,如果只要添加某个文件输入git add 文件名,例如git add main.py。
注意我们一定要进入到有.git文件的文件夹中去,也就是路径后面会有一个(master),不然是不能添加到暂存区中去的。
如果使用的是第一种创建本地仓库的方法,那还需要为本地仓库添加一个远程仓库的链接。
输入git remote add origin(远程仓库的链接),我已经添加过了,所以显示远程仓库以存在。
然后就是提交到仓库中去。
输入git commit -m "提交信息提示"。 提交信息提示就是告诉别人这次提交的内容或者作用。
最后就是推送到远程仓库去了,输入git push origin master。
注意推送的时候可能两者不同步,如果出现了拒绝推送,需要先拉取(pull),进行合并然后在进行push,解决方法是,先输入git pull origin master --allow-unrelated-histories,然后再push,这是推送失败常用的方法。
在远程仓库中就可以看到多了一个main.py文件。
可能第一次推送会有一个对话框要输入GitHub或者Gitee的账号密码。如果不想每次都输入账号密码,那就需要配置SSH公钥了。
进入C盘 C:\用户\用户名下查看有没有的.ssh文件
没有就新建一个,然后进入.ssh文件,鼠标右键打开Git Bash 。输入ssh-keygen,这是生成公钥,如果需要加密的话,使用加密算法输入ssh-keygen -t rsa。这里也可以使用别的加密算法像DES、3DES、AES、SHA-1、MD5等。
一直点回车就行了。
文件夹里会出现两个文件 ,然后需要讲公钥信息public key添加到GitHub或者Gitee账号中去就可以了,以Gitee为例。
打开Gitee进入个人主页,点击个人设置,再点击SSH公钥。
打开刚刚生成的两个文件中后缀名为pub文件,复制全部内容。
把复制的公钥粘贴到空白框中,点确定。
输入账号的密码即可 。
Git还有很多的用法,如果大家兴趣可以去搜搜更为详细的教学。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)