git与github,第一次接触
来源:互联网 发布:知乎手机版搜问题 编辑:程序博客网 时间:2024/06/13 02:05
git与github,第一次接触
加入了lzj老师的python之禅知识星球,和大家一起学习python。
lzj老师的第0项任务就是学习使用git和github,这两个搞的我挺迷糊的,因此在完成任务后,来总结一下自己的理解。
关于git的安装以及github的注册,自己度娘。
git的大致架构
首先应该要大体介绍一些git的整个结构。
这是一个git的简易教程
里面的工作流部分也就是git的大致原理。
使用git时将文件都存在于一个仓库(repository)内,内容改动后通过命令将其输入至缓存区(index)(它的具体实现我作为菜鸟也不明白,暂且理解为一个抽象的存储空间吧),再一个命令则是将改动保存到head,也就是最终的成果都是放在这里的。
基础命令
git init:用于初始化一个仓库,一个文件目录必须被初始为仓库才能进行后续操作,已经初始化的标志是目录中会有个.git文件夹,这个文件夹就别乱碰了。git命令行中的黄色字体即当前打开的文件目录,就不附图说明了。
git add :在对仓库的内容改动后,需要使用该命令将其输入缓存区。
git commit -m “”:用于将缓存区的内容输出至head,相当于是最终结果。
关于文件目录,git在安装时有关于命令行指令的选择,默认的话应该和系统相同的,我的是windows,因此想要更改打开的目录可以使用cd命令,或者是在目标文件夹中右键git bash,这样打开git的文件夹就会是当前的文件夹。
添加远程仓库
将仓库与自己的github仓库链接,将后者作为远程仓库:
1.在github account setting中添加ssh key:关于ssh的添加,我只是照做,没有什么理解,大概类似什么许可证,请参阅
2.git config –global user.name “”:引号内为github的用户名
3.git config –global user.email “”:引号内为github的邮箱
以上两步中的global代表的是全局参数的设置,因此进行过一次即可,也可随时修改
4.git remote add origin git@github.com:<在github中的项目路径>:为自己的仓库添加用于fetch和push的源(也就是你从别人那fork来然后clone到自己本地的项目),这一步是上传自己修改中的push命令必须的,没有origin你要push到哪里去?
与他人合作完成项目
关于如何对他人的github项目进行修改并上传你的修改:
1.git clone [url]:将他们的项目完整克隆到本地,后续的修改和上传才能进行。(该步的前提是对方对你的权限允许)
1.1上一步骤失败。那就先到对方的项目页面,右上角将它fork到自己的github仓库(与git类似的),然后从自己的仓库clone,前提:将github仓库添加为远程仓库
2.进行改动啦,添加删除之类的。
3.git add
4.git commit -m “”
5.git push -u origin :这里的branch即分支,是一个非常便利与修改的特性,目前我用的只是master,即主干。这里的origin的命名似乎可以更改,允许添加多个不重名的源。
便利的检查命令:
git status:可浏览当前仓库中还有多少为输入至缓存区的改动。
git remote -v:查看当前已添加的远程库,-v用于详细显示远程库地址;没有-v就只显示远程库的代号,比如origin。
git remote rm [origin]:要是远程仓库地址输入错了就用这个删除。
总结
自己在实际操作过程中有点取巧了,clone操作用的是github的桌面端实现的。第一次用这个markdown编辑器。。。emmmm搞不太懂
- git与github,第一次接触
- 第一次与BLOG接触!
- 第一次在Xcode上配置git与github
- 小白第一次在Xcode上配置git与github
- 与ACE第一次亲密接触
- 与hibernate第一次零距离接触
- 与Java的第一次接触
- 第一次与猎头“亲密接触”
- 第一次与猎头“亲密接触”
- 与Applet第一次亲密接触
- 第一次与公司亲密接触
- 与python第一次亲密接触
- 与OGRE的第一次接触
- 与Hadoop的第一次接触
- 与AndroidStudio的第一次接触
- 与markdown的第一次接触
- 与RxJava的第一次接触
- Git 初接触 (六) 建立Git GitHub 远程仓库
- 文章标题
- android界面为什么分辨率不对?对话框各种风格都不对?百度地图为什么失真?android studio 属性targetSdkVersion、compileSdkVersion
- DrawerLayout 学习笔记
- BZOJ1257 洛谷2261 [CQOI2007]余数求和
- 谷歌、亚马逊、微软大力投资云计算,后进者面临“game over”?
- git与github,第一次接触
- AMD收购Nitero,或大举发展无线VR产品
- 华为轮值CEO徐直军:不会把人工智能作为一个独立产业
- 上海疑现外星入侵“强制观看”投影,多人围观
- NOIP模拟(10.27)T1 寿司
- Java 值传递和对象传递详解
- java中将javabean转为json的两种第三方工具类Fastjson&&Jackson
- Attention Modeling for Targeted Sentiment的理解与重现
- 数据库事务、隔离级别、锁的理解与整理