Mac 上使用SVN 与 操作Homebrew 方法

/ SVN //

SVN常用命令

当我们来到新公司,领导给了svn路径,第一件事就是要把代码拉取到本地。

拉取代码

svn checkout(co) svn路径

添加

svn add 文件名 # 将文件添加到版本控制 svn add 目录名 # 默认将默认下所有文件添加到版本控制 svn add 目录名 --non-recursive # 只将目录添加到版本控制,不会将目录下文件添加到版本控制 svn add * # 将所有文件添加到版本控制(会排除non-recursive的目录下的文件) svn add * --force # 将所有目录文件都添加

提交

svn commit(ci) -m "注释"

查看文件状态

svn status(st) ? : 不在svn控制中 M :内容被修改 C :发生冲突 A :预定加入到版本库 K :被锁定

查看日志

svn log

更新

svn update

回滚

  • 修改的东西没有提交

svn revert 文件名

svn revert -R 目录名

svn revert --recursive 目录名

  • 修改的东西已经提交

回滚之前执行svn update,保证文件是最新的

svn merge -r 20:10 文件名 # 将文件 从版本20回滚到版本10 svn commit -m "提交回滚"

  • 删除

svn delete(del、remove、rm) 文件名 svn ci -m "删除文件"

SVN进阶

如果你是一个项目负责人,可能就需要创建svn仓库、创建用户、创建项目等,需要学习一些svn进阶操作

创建用户

注意事项:

1.VisualSVN_Server_3.5.0.0 最低要求为 Vista,Win7 或者 Windows Server 2008 及以上系统

2.VisualSVN-Server-2.7.14 这个版本可以安装到 Windows Server 2003 上

打开VisualSVN Server Manager软件,如下:

image.png

设置用户名和密码:

image.png

创建仓库

第一步:

image.png

第二步:

image.png

第三步:

image.png

第四步:

image.png

第五步:

image.png

第六步:

image.png

本地项目上传svn仓库

先打开Repo-browser

image.png

在仓库下面创建文件夹用来存放项目

在本机创建文件夹test,鼠标右键选择svn checkout

image.png

将要上传的项目放在该文件夹中,然后右键选择 svn add

在将一些不需要上传的文件去掉 (注意:先将项目add后才可以添加忽略文件)

最后 执行svn commit即可

//  Homebrew  ///

MAC怎么安装homebrew

Mac上安装Homebrew的方法如下:

  1. 打开终端。可以在Mac的“应用程序”文件夹中找到“实用工具”文件夹,然后打开其中的“终端”应用程序。12

  2. 复制并粘贴安装命令。在终端中,粘贴以下命令并按回车键:`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"`。这个命令会从GitHub下载Homebrew安装脚本并执行安装。

  3. 等待安装过程。安装过程中,终端会显示进度和提示信息,请按照屏幕上的指示操作。

  4. 添加环境变量。安装完成后,如果系统提示将Homebrew添加到PATH环境变量中,执行以下命令:`echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile`,然后再次执行`eval "$(/opt/homebrew/bin/brew shellenv)"`以使更改生效。

  5. 验证Homebrew安装。安装完成后,可以通过在终端中输入命令`brew doctor`来检查Homebrew是否正确安装并可以正常使用。如果没有严重警告或其他错误信息,说明Homebrew已经成功安装在MacOS系统中。

请确保在安装过程中网络连接稳定,以避免下载中断。安装完成后,可以使用Homebrew来安装各种软件包和工具,例如使用`brew install git`来安装Git。

///  SVN   //

安装svn 命令:

mac:

brew install svn

centos:

yum -y install subversion

2、验证是否安装成功

 svn --version

出现以下内容表示安装成功

3.拉取仓库文件

通过svn checkout命令检出资源, svn checkout 可以使用缩写svn co

svn checkout svn://xxxxxx
例子:
[root@s145 tmp]# svn checkout svn://192.168.0.146:18080/repos /tmp/svntest --username=testuser

#等同于
git clone    git@gitlab.*.com:gituser/*.com.git (fetch)

格式:

svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码

3.添加文件

使用svn add命令添加前要求文件已存在,添加新文件只是告诉SVN,并没有真实提交,需要使用commit提交。

svn add file

#等同于

git add file

4.提交文件到svn

svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)

#等同于

git commit -m 'init提示信息' filepath

#-m参数为必选,可以为空,用于备注说明

#commit前必须先svn add添加文件到版本控制库。

#svn commit可以缩写为svn ci

5.加锁/解锁(很少用到)

 svn lock -m "LockMessage" [--force] PATH
 svn unlock PATH

#例如
[root@s145 svntest]# svn lock 2.log
‘2.log’ locked by user ‘wuhs’.

[root@s145 svntest]#svn unlock 2.log
‘2.log’ unlocked.

[root@s145 svntest]# svn lock -m “锁定2.log” 2.log
‘2.log’ locked by user ‘wuhs’.

6.更新svn资源到某个版本

#来源:公众号【码农编程进阶笔记】
1.svn update -r m 

2.svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
#相当于 git pull 

3.svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
#相当于
git  reset  052e           # 回退到指定版本

4.svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

svn update #更新整个版本库

svn update -r 修正版本 文件名 #回退指定文件

svn update 文件名 ##更新指定文件

版本号可以通过svn log查看

7.查看文件或者目录状态

svn status 命令简写svn st

svn status path

#相当于

git status
[root@s145 svntest]# svn status 2.log
M 2.log
[root@s145 svntest]# svn status 3.log
[root@s145 svntest]# svn status -v testdir/
5 1 wuhs testdir

?:不在svn的控制中;

M:内容被修改;

C:发生冲突;

A:预定加入到版本库;

K:被锁定

8.删除文件

通过svn delete删除文件后需要执行提交操作才会真正删除。

#方法一:删除和提交操作
svn delete path -m "delete test fle"

#方法二:先删除再提交

svn delete 1.log

svn commit -m “”

9.查看日志

svn log path

#查看某个文件的日志
svn log 2.log

10.查看文件详细信息

svn info path

11.将两个版本之间的差异合并到当前文件

svn merge -r m:n path

12.SVN 帮助

svn help

13.比较文件版本差异

svn diff file  

命令可以简写为svn di

[root@s145 svntest]# /opt/csvn/bin/svn diff 2.log
[root@s145 svntest]# ll
total 0
-rw-r–r-- 1 root root 0 Feb 11 17:06 2.log
-rw-r–r-- 1 root root 0 Feb 11 17:35 3.log
drwxr-xr-x 2 root root 6 Feb 11 17:03 testdir
-rw-r–r-- 1 root root 0 Feb 11 17:03 testfile.txt
[root@s145 svntest]# echo “2-test” > 2.log
[root@s145 svntest]# /opt/csvn/bin/svn diff 2.log
Index: 2.log
===================================================================
— 2.log (revision 5)
+++ 2.log (working copy)
@@ -0,0 +1 @@
+2-test

14.解决冲突

[root@s145 svntest]# svn resolved 2.log
Resolved conflicted state of ‘2.log’
[root@s145 svntest]# svn commit -m “” 2.log
Sending 2.log
Transmitting file data .
Committed revision 9.

15.创建纳入版本控制下的新目录

[root@s145 svntest]# svn mkdir abc
A abc

[root@s145 svntest]# ls
2.log 3.log abc testdir testfile.txt

[root@s145 svntest]# svn commit -m “新增目录” ./
Adding abc
Committed revision 11.

16.版本库下的文件和目录列表

svn list 命令简写svn li
[root@s145 svntest]# svn list ./
1.log
2.log
testdir/
testfile.txt

17.不更新情况下查看SVN文件

svn cat file

18. 新建分支

[root@s145 svntest]# svn mkdir branches

A branches
[root@s145 svntest]# svn copy svn://192.168.0.146:18080/repos/testdir svn://192.168.0.146:18080/repos/branches -m “新建分支测试”

Committed revision 12.

19.递归清理工作拷贝

[root@s145 svntest]# svn cleanup
#递归清理工作拷贝,删除未完成的操作锁定。
如果你得到一个“工作拷贝已锁定”的错误,
运行这个命令可以删除无效的锁定,
让你的工作拷贝再次回到可用的状态。
命令语法是svn cleanup [PATH…],如果没有传递路径则使用默认值"."

20.svn提交文件流程

(1)首次提交文件
svn add file
svn commit -m 'msg' file

(2)非首次提交文件
svn commit -m 'second' file

21.git 提交文件流程

git add file    #每次提交时都需要add添加
git commit -m 'msg'
git push origin dev

以下是一些常用命令

1、将文件checkout到本地目录

1

2

3

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

2、往版本库中添加新的文件

1

2

3

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

1

2

3

svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“ test.php

简写:svn ci

4、加锁/解锁

1

2

3

svn lock -m “LockMessage“ [--force] PATH

例如:svn lock -m “lock test file“ test.php

svn unlock PATH

5、更新到某个版本

1

2

3

4

5

6

svn update -r m path

例如:

svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)

svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

简写:svn up

6、查看文件或者目录状态

1

2

3

4

5

6

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

2)svn status -v path(显示文件和子目录状态)

第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

7、删除文件

1

2

3

4

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种

简写:svn (del, remove, rm)

8、查看日志

1

2

svn log path

例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

1

2

svn info path

例如:svn info test.php

10、比较差异

1

2

3

4

5

svn diff path(将修改的文件与基础版本比较)

例如:svn diff test.php

svn diff -r m:n path(对版本m和版本n比较差异)

例如:svn diff -r 200:201 test.php

简写:svn di

11、将两个版本之间的差异合并到当前文件

1

2

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助

1

2

svn help

svn help ci

13、版本库下的文件和目录列表

1

2

3

svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svn ls

14、创建纳入版本控制下的新目录

1

2

3

4

5

6

7

8

svn mkdir: 创建纳入版本控制下的新目录。

用法: 1、mkdir PATH…

2、mkdir URL…

创建版本控制的目录。

1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增

调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。

在这两个情况下,所有的中间目录都必须事先存在

15、恢复本地修改

1

2

3

4

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:

用法: revert PATH…

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复

被删除的目录

16、代码库URL变更

1

2

3

4

5

6

7

8

9

10

svn switch (sw): 更新工作副本至不同的URL。

用法: 1、switch URL [PATH]

2、switch –relocate FROM TO [PATH...]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将

服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的

方法。

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动

(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用

这个命令更新工作副本与仓库的对应关系。

17、解决冲突

1

2

3

4

svn resolved: 移除工作副本的目录或文件的“冲突”状态。

用法: resolved PATH…

注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的

相关文件,然后让 PATH 可以再次提交。

///   git   ///

如何使用 Homebrew 安装 Git

Homebrew 是一个免费的开源软件包管理系统,可简化 Apple 操作系统(macOS)上的软件安装。你可以使用它来安装将来需要的所有类型的包,而不仅仅是 Git。这使它非常有用。

你不需要安装应用程序或任何东西来安装 Homebrew。你只需要打开终端并通过运行以下命令安装 Homebrew:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

注意:输入命令后,它将要求你输入密码。

成功后,你可以在终端中通过以下命令继续安装 Git:

$ brew install git

至此,你已经在 Mac 上安装了 Git。你现在可以通过在终端中运行以下命令来验证:

$ Git --version

如何在 macOS 中配置 Git

到目前为止,你已经学会了如何安装 Git——但是单独安装 Git 并不仅仅让你可以从 Git 版本控制中推送、拉取和提交代码以及执行其他 Git 操作。

要使用 Git,你必须使用 git config 命令设置你的 Git 环境。这将使你能够访问控制 Git 如何在你的系统上工作的配置变量。

你需要的两个重要的 git config 变量是身份变量。这些可让你设置用户名和电子邮件。这是你在使用 GitHub、GitLab 等设置版本控制系统时使用的用户名和电子邮件。

$ git config --global user.name "olawanlejoel"
$ git config --global user.email "mymail@gmail.com"

注意:用你的姓名和电子邮件替换。你还应该知道 --global 选项可确保在整个系统中使用这些值。

完成此操作后,你还可以进行其他一些配置,即为 Git 控制台设置默认文本编辑器和颜色:

$ git config --global core.editor emacs
$ git config --global color.ui true

你可以选择你经常使用的任何编辑器。我选择了EMACS。

现在 Git 已准备好供你使用。你可以使用以下命令检查你的 Git 配置以确保它们正确:

$ git config --list

这将显示以下内容(使用你自己的信息):

user.name=olawanlejoel
user.email=mymail@gmail.com
color.ui=true

假设有一个错误,并且你希望更改任何配置,你可以重新运行特定于错误的配置命令。

例如,如果我的电子邮件有错误,我可以重新运行电子邮件配置来更正它:

$ git config --global user.email "mynewmail@gmail.com"

现在,当你重新运行 --list 命令时,你将获得更新后的值:

user.name=olawanlejoel
user.email=mynewmail@gmail.com
color.ui=true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值