源代码管理工具

2017-04-14  本文已影响14人  倒影里浅笑

1 SVN

集中式版本控制工具:

2 git

开源的分布式版本控制工具,git提交时可以在本地提交

svn和git对比:

速度:在很多情况下,git的速度远远比svn快

结构:svn是集中式管理;git是分布式管理

其他:svn使用分支比较笨拙,git可以轻松拥有无限个分支

svn必须联网才能正常工作,git支持本地版本控制工作

旧版本的svn会在每一个目录下有一个.svn,git只会在根目录下拥有一个.git

git工作流程:

共享版本库[下载是使用clone]<—————开发人员1[提交commit提交到本地代码仓库,必须push到共享版本库中,开发人员2可以使用pull来下载开发人员1push的代码]

共享版本库<—————开发人员2

在分布式下开发则可以本地提交,每个开发者机器上都有一个服务器的数据库;拥有一个本地的代码仓库。

git演练

显示隐藏文件的命令是:defaults write com.apple.finder AppleShowAllFiles -bool true

显示隐藏文件夹的命令是:defaults write com.apple.finder AppleShowAllFiles -bool true ; killall Finder

1 个人演练(命令行演练)

-1 进入到工作目录中,初始化一个代码仓库  git init

-2 给该git仓库配置一个用户名和邮箱  git config user.name “xxx"

git config user.email “xxx@xxx.com"

-3 初始化一个代码  touch main.m

git add main.m

-4 查看文件的状态  git status

Untracked files(红色文件):新添加的文件或者新修改的文件在工作区中,没有添加到暂缓区。

Changes to be committed(绿色):将工作区中的代码已经添加到暂缓区,可以被提交到代码仓库中了。

-git commit -m "初始化项目"

1> 给所有的文件提交时的注释

git commit -m “xxxxxx"

git commit -m "modified the first file"

2> git diff

3>git diff --staged

4> git rm xx.xx

5>git mv main.m pudding.m 相当于rename

6>git mv pudding.m hh/patty.m  将pudding.m 转移到hh文件夹下改名为patty.m

-5 修改文件

open main.m

-6 将工作区所有的文件添加到暂缓去

git add .

-7 给git命令起别名

git config alias.xx “status"

git config alias.xx “commit -m"

-8 查看历史版本

git log

git relog

1>查询某一个人提交的代码命令是

git log author=“xxxx"

-9 版本回退

git reset —hard HEAD

git reset —hard HEAD^

git reset —hard HEAD^^

git reset —hard HEAD~100

git reset —hard 版本号前7位

-10 -global的作用(配置全局的用户名和密码,其他地方可以不配置)

git config —global user.name “why"

git config —global user.email “why@163.com"

git 工作原理

1 工作区:仓库文件夹里除了.git目录以外的内容

2 版本库:.git目录。用户存储记录版本信息

暂缓区(stage):

分支(master):git自动创建第一个分支

HEAD指针:用于指向当前分支

3 git add:把文件修改添加到暂缓区

git commit:把暂缓区的所有内容提交到当前分支

二 团队开发

共享库:可以是文件夹/U盘/网盘(?)/GitHub/osChina

1 创建代码共享库(让一个文件夹成为共享库)

git init --bare

2 经理将共享代码仓库总的代码clone下来

git clone 地址

3 项目经理初始化项目

忽略文件:在和.git等级目录下创建一个.gitignore文件,在该文件下准备忽略的文件;可以去gitHub查找oc需要忽略的内容,将内容填写到.gitignore中

git add . /git commit -m “注释”将.gitignore添加到本地仓库管理

远程服务器中(gitHub)

上一篇下一篇

猜你喜欢

热点阅读