源代码管理工具 GIT的使用

是否显示隐藏文件夹的终端命令:
defaults write com.apple.finder AppleShowAllFiles YES
defaults write com.apple.finder AppleShowAllFiles YES

1.git工作原理和git下的文件夹
(1)工作区:仓库文件夹里除了.git目录以外的内容;
(2)版本库:.git目录,用于存储记录版本信息;
暂缓区(stage);
分支(master)git自动创建的分支;
HEAD指针:用于指向当前分支;

一、git简介
1.git和svn对比:
(1)很多情况下,git的速度远远比SVN快;
(2)SVN是集中式管理,git是分布式管理;
(3)SVN使用分支比较笨拙,git可以轻松拥有多个分支;
(4)SVN必须联网才能正常工作,git支持本地版本控制工作;
(5)分布式和集中式最大区别:在分布式下时候:
开发者可以本地提交代码;
每个开发者机器上都有一个服务器的数据库;

2.git
(1)git init :初始化一个代码仓库
(2)使用git前必须配置用户名和邮箱
git config user.name “CYJ”
git config user.email “[email protected]”
(3)给git配置全局的用户名和邮箱
git config —global user.name “CYJ”
git config —global user.email “[email protected]”

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 把暂缓区的所有内容提交到当前分支;

6.
(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.net

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

时间: 2024-10-08 07:41:00

源代码管理工具 GIT的使用的相关文章

源代码管理工具-GIT

源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源? > 作者是Linux之父:Linus Benedict Torvalds > 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) git的现状? > 在国外已经非常普及,国内并未普及(在慢慢普及) > 越来越多的开源项目已经转移到git 2. 常见的

源代码管理工具GIT

01.GIT简介 svn是集中式的源代码管理工具,必须联网才能操作 git是分布式的. 有两中:一个是本地代码仓库,一个是远程代码仓库 分布式源代码管理工具 02.GIT - 本地代码仓库使用流程 1.创建本地代码仓库:    git init 2.配置git仓库信息,姓名和邮箱(可以用命令行,也可以直接打开config 文件) 3.提交文件之前先查看状态.git status 4.添加文件到暂存区 git add   5.提交文件 git commit -m"日志信息" [Path]

Git 源代码管理工具

Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Linux内核的开发 Git在国外已经很普及,在国内也慢慢开始普及 Git与SVN的区别 结构:SVN是“集中式”的版本控制,Git是“分布式”的版本控制 速度:(多数情况下) Git速度高于SVN的速度 分支:SVN的分支比较笨拙,可Git可以轻松的创建无限个分支 安全:Git的数据备份比SVN更安全,

git源代码管理工具

git是一款源代码管理工具 是分布式版本管理工具 分布式管理必须先在本地提交然后才能提交到服务器: svn集中式版本管理工具 集中式版本管理工具离开服务器就做不了版本管理: 初始化仓库 1.用git初始化过的文件夹会建立一个仓库 2.创建git仓库的步骤 a) 创建一个文件夹 b) 在当前文件夹当中右键打开git bash c) 执行git init 注意: 1..git是隐藏文件夹,一定要把查看文件选项打开 配置用户信息 "git config user.name = 'bicycle'&qu

源代码管理工具Svn和Git

一.源代码管理工具诞生的原因: 1.无法后悔:做错了一个操作后,没有后悔药可以吃: 注解:在用Xcode编程的时候,我们做了一个代码修改,忽然Xcode崩了,或者是不小心关掉了.那么刚才所写的好代码就丢失了,即使Command+Z也无法后退 2.版本备份:费空间.费时间: 如果我们为了防止写完一个模块或者一个功能的代码后Xcode因不小心关闭而丢失代码,就去做版本备份,那写完一个项目,岂不是备份了成百上千份?耗时耗空间! 3.版本混乱:因版本备份过多造成混乱,难于找回正确的想要的版本: 备份过多

源代码管理工具简介

#一. 源代码管理工具简介* 有必要给大家的介绍一下,如果不说的话,大家都不知道它是干嘛的,首先我们要逐渐的建立器一个感受,对源代码管理工具的一个感觉. * 为什么会出现源代码管理工具? * 首先它得有一定的功能,对不对?任何的发明创造,都是为了解决人类的问题的,对不对?甚至一些语法规则的发明也是为了解决一定的问题的,对不对? * 我随便举个例子啊,举个简单的例子同学们理解一下,比如说像以前我们为了存储一个整形数据,是不是发明了一个叫int 类型的.后来发现不太靠谱,因为他只能存一个整数,所以就

源代码管理工具概述

### 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程> 记录一个项目的所有内容变化,无限制返回> 查看特定版本的修订情况 ### 2. 常见的源代码管理工具有哪些? > CVS- 开启版本控制之门- 1990年诞生,“远古时代”的主流源代码管理工具> SVN- 全称是Subversion,集中式版本控制之王者- 是CVS的接班人,速度比CVS快,功能比CVS多且强大- 在国内软件企业中使用最为普遍(70%-90%)> GIT- 一款伟大的分布式

源代码管理工具

为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 源代码会引发哪些问题? 无法后悔:做错了一个操作后,没有后悔药可以吃 版本备份:费空间.费时间 版本混乱:因版本备份过多造成混乱,难于找回正确的想要的版本 代码冲突:多人操作同一个文件(团队开发中的常见问题) 权限控制:无法对源代码进行精确的权限控制 追究责任:出现了严重的BUG,无法得知是谁干的,容易耍赖 … … 源代码管理工具就是为了解决上述问题而生的!此乃软件开发的一大福音! CVS 开启版本控制之

源代码管理工具(上)-SVN

------------------------------------------------------SVN简介和搭建 --------------------------------------------------------------- 1.源代码管理工具的起源: 不进行管理可能存在的问题 无法后悔:做错了一个操作后,没有后悔药可以吃 版本备份:费空间.费时间 版本混乱:因版本备份过多造成混乱,难于找回正确的想要的版本 代码冲突:多人操作同一个文件(团队开发中的常见问题) 权限控