ios版本控制之git本地

来源:互联网 发布:数据库漏洞扫描系统 编辑:程序博客网 时间:2024/05/18 12:33

(1)什么是git

     a、git是一个"分布式"的版本控制工具。

     b、git的作者是Linux之父:Linus Benedict Torvalds,当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) 。

    c、git在国外已经很普及,在国内已经慢慢普及了。 


(2)gitsvn对比

a、结构:svn"集中式"的版本控制,git"分布式"版本控制"集中式""分布式"版本控制的区别 



     b、速度:多数情况下git 的速度比svn

     c、分支:svn的分支比较笨拙,git可以轻松的建立无限个分支

     d、旧版本的svn 会在每个文件夹下建立一个.svn,git只会有根目录下拥有一个.git 


(3)git的本地配置与操作

   a、初始化代码仓库

仓库用来存放各个版本的文件信息

建立一个空的文件夹,命名为WeChat,假设用来存放微信项目的

在终端切换到WeChat目录下,输入'git init'命令

在终端输入'defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder'看到Weibo下有个.git的隐藏文件夹,这个文件非常重要,没了就没有版本控制了。 


     

    b、提交版本信息

WeChat下添加一个 main.m 文件,终端输入'touch main.m '即可,然后添加一行文字

•添加一个全局的用户名和邮箱,防止后面操作报错,在终端输入下面命令即可


在终端输入下面命令,目的是将main.m文件,提交到版本库git

     git commit -m '第一次初始化项目

输入上面的命令后,会有如下图的红色提示,这是因为提交前要把.m文件纳入版本控制(暂缓区



(4)git的工作原理


输入'git add .'把当前目录下的所有文件纳入版本控制,然后再输入上面的git commit 命令,这个我们就看到版本提交成功了,如图 



(5)查看文件状态

main.m 文件中再添加一行文字
输入'git status',我们会看到一个红色的文件,这代表这个文件是被修改过的 


修改过的文件要提交前,也要把修改的文件纳入版本控制后才可以使用commit命令 



(6)配置git用户 

配置用户名,在终端输入以下命令

git config "user.name" zhangsan               用于查看谁修改了文件配置邮箱

git config "user.email"zhangsan@itcast.cn    用于多人开发,邮件通知查看当前的配置

cat .git/config

再次修改文件提交后,显示修改的用户将是当前配置的,开头我们创建的用户名和邮箱对所有git下的项目都有效


(7)config,status,commit命令配置别名

•git config alias.cfg config            cinfig 取别名

•git config alias.ststatus             status 取别名

•git config alias.ct"commit -m"     "commit -m取别名 


(8)配置日志格式 

git log//默认日志

• git log --pretty=oneline//显示一行日志

•git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"//最漂亮的日志 



(9)版本回退

恢复前一个版本git reset --hard HEAD^

恢复前两个版本git reset --hard HEAD^^

恢复前N 版本git reset --hard HEAD~N//N是数字

恢复指定版本(git lg) git reset --hard版本号


(10)建分支

a、 查看所有分支git branch

b、从当前版本建分支git branch v1       //branch后面不带参数,代表查看所有分支

c、 切换分支 git checkout v1

d、分支git merge v1

过程中有冲突,要手动

e、删除分支 git branch -d v1 


•git rm 文件名                 //删除某个文件

总结,不管是添加修改删除文件,都要把文件纳入到版本控制中后,才可以提交,最为安全 

0 0
原创粉丝点击