是否显示隐藏文件夹的终端命令:

defaults write com.apple.finder AppleShowAllFiles YES
defaults write com.apple.finder AppleShowAllFiles YES

1.git工作原理和g

  (1)工作区:仓库文件夹里除了.git目录以外的内容;(2)版本库:.git目录,用于存储记录版本信息;暂缓区(stage);

分支(master)git自动创建的分支;

HEAD指针:用于指向当前分支;简介it和svn对比:
(1)很多情况下,git的速度远远比SVN快;
(2)SVN是集中式管理,git是分布式管理;
(3)SVN使用分支比较笨拙,git可以轻松拥有多个分支;
(4)SVN必须联网才能正常工作,git支持本地版本控制工作;
(5)分布式和集中式最大区别:在分布式下时候:可以本地提交代码;
每个开发者机器上都有一个服务器的数据库;git
(1)git init :初始化一个代码仓库
(2)使用git前必须配置用户名和邮箱
git config user.name “CYJ”
git config user.email “CYJ@163.com”
(3)给git配置全局的用户名和邮箱
git config —global user.name “CYJ”
git config —global user.email “CYJ@163.com”

3.初始化项目

touch main.m 创建文件
git status 查看状态
git add main.c 将文件添加到暂缓区 (git add . 将在工作区中所有不再暂缓区中的所有格内容添加到暂缓区中)
git commit -m "初始化项目" main.m :将暂缓区中的内容提交到本地版本库,清空暂缓区
注意:添加的文件或者是修改的文件都需要通过add命令添加到暂缓区

4.git status 查看状态不同颜色代表不同状态

红色:该文件被添加或者修改,但是没有添加到git的暂缓区;
绿色:文件在暂缓区中,但是没有被添加到本地版本库;

5.git工作原理

(1)工作区:仓库文件夹里除了.git目录以外的内容;
(2)版本库:.git目录,用于存储记录版本信息;
暂缓区(stage);
分支(master)git自动创建的分支;
HEAD指针:用于指向当前分支;
(3)git add:把文件修改或者新添加的文件添加到暂缓区;
git commit 把暂缓区的所有内容提交到当前分支;
(1)给命令行起别名:
git config alias.st “status” 给status起一个st别名;
git config —global alias.st “status” 给status起一个全局别名;
(2)删除文件:
git rm 文件名 删除指定的文件
(3)查看版本信息:
git log :版本号(是由sha1算法生成的40位哈希值 )
git reflog :可以查看所有版本回退的操作
(4)版本回退
git reset —hard HEAD :回到当前版本;
git reset —hard HEAD^ :回到上一个版本;
git reset —hard HEAD^^ :回到上上个版本;
git reset —hard HEAD~n :退回到前n个版本;
git reset —hard 版本号(前5位) :回到指定的版本;

做上面的任意一个操作是在本地版本库中进行回退的,还需要将共享版本库中保存的也回退(注意:此操作不可逆)
get push -f 强制push到共享版本库;

二、共享版本库及使用git管理项目
1.共享版本库

(1)git服务器的搭建非常繁琐;可以把代码托管到(GitHub/OSChina);也使用一个文件夹或者一个U盘;
(2)git init --bare 使用一个文件夹作为一个共享版本库
(3)将共享版本库的所有文件下载下来
git clone 共享版本库地址

2.删除忽略文件

touch .gitignore 创建一个.gitignore文件 ;
去gitHub上将内容复制到.gitignore文件中;
git add .gitignore:把.gitignore文件添加到暂缓区;
git commit -m “注释” .gitignore :将暂缓区中的内容提交到master分支中;

3.初始化项目

在Xcode中的git对应的人员的文件夹中创建新的项目;
点击source Control,点击commit进行提交本地版本库;
点击source Control,点击push,提交到共享版本库之中;

4.张三加入开发

(1)来到张三的文件夹:
git clone 共享版本库地址 将共享版本库中的代码下载到张三的文件夹中;
(2)可以直接将代码新建到共享版本库下载下来的文件夹中,点击source Control,点击commit进行提交本地版本库;如果网速快,也可以同时勾选push到共享版本库中;
(3)想要从共享版本库中更新最新的代码到本地,需要点击source Control,点击pull进行提交本地版本库;

5.git管理方式下 使用静态库的方法:

(1)方法一:将静态库拖入项目中,静态库的.h文件和.a文件会显示?表示不识别;右击这两个文件,选择sourceControl,点击add;就可以使用了(表示已经可以commit添加到暂缓区了);
(2)方法二:将静态库拖入项目中,用终端,cd  finder中静态库所在的文件夹;输入命令git add.;这样就可以使用了(表示已经可以commit添加到暂缓区了);

三、版本备份和创建新人共享库
1.版本备份

(1)当程序开发完成后,需要进行备份(打上标签);
使用git时候如果需要备份,都是使用命令行进行备份;
git tag -a weibo1.0 -m “注释” 在本地打上标签
git tag 查看当前有哪些tag
git push origin weibo1.0    将标签push到共享版本库

当别人需要查看tag的时候
git pull
git tag

(2)将标签push到共享版本库;开始2.0版本的开发;发现1.0版本有bug;
(3)创建一个文件夹,用来修复bug,在这个文件夹中将,将共享版本库中的内容clone下来;

在微博中创建weibo1.1fixBug文件夹,在这个文件夹中修复bug
cd weibo1.1fixBug文件夹
git clone 服务器保存的文件夹地址 将这个服务器中的文件clone到weibo1.1fixBug文件夹中;

(4)将当前的代码转为1.0标签,创建分支,并切换到该分支;

在分支中修复bug,上传到appstore;
cd 来到git同级目录下的工作区中;git checkout 标签名(在这里是weibo1.0) 切换到1.0标签,但是不能在标签中修改代码
git checkout -b 标签名(weibo1.1 fixbug) 创建了新的分支,并切换到了这个分支;
在这里完成bug的修复;
在Xcode中的sourceControl中commit并勾选push到共享文件夹

(5)将修复好的版本,打上tag并上传到共享版本库;

git tag -a weibo1.0 -m “注释” 在当前这个分支中为修复了bug的这个版本打上tag;
git tag 查看当前有哪些tag
git push origin weibo1.1    将新的标签push到共享版本库

(6)跟当前正在开发的2.0版本进行合并

在正在开发的2.0版本中,点击sourceControl ,点击pull,选择weibo1.1fixbug 分支,进行pull;
然后选择点击sourceControl ,选择push,选择当前正在开发的版本,进行push;上传到共享版本库;

(7)删除分支

git branch   查看本地分支
git branch -r 查看所有的分支
git checkout 分支名 切换到正在开发的分支中git branch -d 分支名 删除本地分支
git branch -r -d 分支的全名 删除本地版本库的分支
git push origin —delete 分支名 删除共享版本库中的分支

2.创建新人的共享版本库 (项目经理做的)

  因为新人可能会随意上传修改共享版本库的代码,所以需要为新人创建一个单独的文件夹在服务器中,来给他使用,不会影响到正在开发的文件
(1)在服务器中创建一个lisi的文件夹
cd lisi的文件夹
git init —bare 使用lisi文件夹作为一个共享版本库
来到开发者人员的电脑中,正在开发的Xcode中,选择sourceControl,选择正在开发的分支,选择configure weibo。。;选择Remotes,点击+;填写name和address(lisi的文件夹的地址);
点击sourceControl,点击push,选择 新建的共享版本库,点击push;
在lisi的电脑中,git clone,将共享版本库中的文件clone下来;

四、GitHub托管文件和OSChina托管文件

www.github.com
git.oschina.net1.GitHub托管文件
方式一:HTTPS
方式二:SSH Keys
SSH Keys认证:
1.公钥:存在github上用来解密
2.私钥:存在本地的一个.ssh文件下

【git】源代码管理工具 GIT的使用步骤的详细讲解相关推荐

  1. 源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  2. 源代码管理工具GIT

    简介: git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源: 作者是Linux之父:Linux Benedict Torvalds ...

  3. 【源代码管理工具GIT】

    什么是GIT? Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制 集中式和分布式 集中式:Svn : 由中央服务器统一管理代码 ,安全性差. 分布式:Git:每个电脑都有一个版本库,安全 ...

  4. 安装了git之后visual studio 2019变得很卡怎么办?(工具 --> 选项 --> 源代码管理工具【设置成无】)

    工具 --> 选项 --> 源代码管理工具 将源代码管理工具设置为无 参考文章:为什么vs2015经常卡顿? - 张山的回答 - 知乎

  5. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  6. git 强制更新远程_版本控制管理工具git的常见指令合集

    今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...

  7. VS2019添加git源代码管理-增加VS版本 16.10.4的GIT管理

    文章目录 前言 VS2019添加git源代码管理-旧版本 VS2019添加git源代码管理-新版本 前言 本文当时创作时,VS的git源代码管理还没有做出改变,所以会导致很多读者有疑问,找不到团队资源 ...

  8. vscode侧边栏Git源代码管理器丢了?

    vscode中git源代码管理器插件是内置的,是不需要安装的. 如果侧边那个图标不见了的话,可以按照一下方式找回. 点击查看,点击源代码管理,侧边栏就出现了 但是侧边栏一切换,那个源代码管理图标又消失 ...

  9. 20180320作业1:源代码管理工具调查

    任务说明: 一.找出并了解当前较为流行的几种源代码管理工具(至少三种): 二.建立表格对这些源代码管理工具的优缺点进行比较分析. 工具 优点 缺点 SVN  开源,有独立大的安全管理机制代码一致性高 ...

最新文章

  1. h264和h265多维度区别
  2. 【Web】Rest API 验证授权如何做?
  3. 【262】pscp命令 实现windows与linux互传文件
  4. 不加载执行js_前端性能优化:preload 预加载页面资源
  5. 平安dms开发java_Spring DMS模板同步接收非持久用户消息丢失
  6. js技术要点---JS 获取网页源代码
  7. EF中使用SQL语句或存储过程
  8. Django合并多个查询结果
  9. pyinstaller相关错误
  10. e class connect.php,帝国CMS6.6程序剖析——e/class/connect.php
  11. 如何查找一篇论文的源代码
  12. Sass -- 基础知识与环境搭建
  13. 新西兰梅西大学计算机专业研究生,新西兰梅西大学硕士读几年,新西兰专升硕 | 能进八大,还有机会移民,最快1.5年完成!...
  14. cocos2dx fnt字体、自定义字体制作(转载、记录、待验证)
  15. 笔记本计算机管理没有键盘,如何禁用笔记本键盘输入?怎么关闭笔记本键盘
  16. java项目调用dll类库报错“出现%1 不是有效的 Win32 应用程序”
  17. prometheus监控常用告警规则
  18. iOS safeAreaInsets安全区域相关知识
  19. Ubuntu 16.04 tf-faster-rcnn 在CPU下训练数据
  20. java float四舍五入保留两位小数_java基础入门-float四舍五入保留两位小数注意的地方...

热门文章

  1. 计算机术语列是,计算机术语-RAM ROM
  2. oracle 免费 工具下载,免费的Oracle客户端工具(Oracle SQL Handler )
  3. 太阳的光和灯光有什么区别_防蓝光眼镜的原理是什么,为什么这么多人用?
  4. Java基础学习总结(176)——JDK 16 正式发布,一次性发布 17 个新特性
  5. Mysql学习总结(43)——MySQL主从复制详细配置
  6. 当你学不进去的时候 不妨看看大脑是怎么想的
  7. samba服务器查看文件共享,我的笔记Uuntu下Samba服务器共享文件夹在windows7 下查看.doc...
  8. mybatis xml标签,批量插入
  9. HttpClient_用Apache HttpClient实现URL重定向
  10. JS 数组去重的几个方法