当前位置:   article > 正文

Mac 上使用SVN 与 操作Homebrew 方法_mac svn

mac svn

/ 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

  1. svn checkout svn://xxxxxx
  2. 例子:
  3. [root@s145 tmp]# svn checkout svn://192.168.0.146:18080/repos /tmp/svntest --username=testuser
  4. #等同于
  5. git clone git@gitlab.*.com:gituser/*.com.git (fetch)

格式:

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

3.添加文件

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

  1. svn add file
  2. #等同于
  3. git add file

4.提交文件到svn

  1. svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
  2. #等同于
  3. git commit -m 'init提示信息' filepath

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

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

#svn commit可以缩写为svn ci

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

  1. svn lock -m "LockMessage" [--force] PATH
  2. svn unlock PATH
  3. #例如
  4. [root@s145 svntest]# svn lock 2.log
  5. 2.log’ locked by user ‘wuhs’.
  6. [root@s145 svntest]#svn unlock 2.log
  7. 2.log’ unlocked.
  8. [root@s145 svntest]# svn lock -m “锁定2.log” 2.log
  9. 2.log’ locked by user ‘wuhs’.

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

  1. #来源:公众号【码农编程进阶笔记】
  2. 1.svn update -r m
  3. 2.svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
  4. #相当于 git pull
  5. 3.svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
  6. #相当于
  7. git reset 052e # 回退到指定版本
  8. 4.svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

svn update #更新整个版本库

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

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

版本号可以通过svn log查看

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

svn status 命令简写svn st

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

?:不在svn的控制中;

M:内容被修改;

C:发生冲突;

A:预定加入到版本库;

K:被锁定

8.删除文件

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

  1. #方法一:删除和提交操作
  2. svn delete path -m "delete test fle"
  3. #方法二:先删除再提交
  4. svn delete 1.log
  5. svn commit -m “”

9.查看日志

  1. svn log path
  2. #查看某个文件的日志
  3. 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

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

14.解决冲突

  1. [root@s145 svntest]# svn resolved 2.log
  2. Resolved conflicted state of2.log’
  3. [root@s145 svntest]# svn commit -m “” 2.log
  4. Sending 2.log
  5. Transmitting file data .
  6. Committed revision 9.

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

  1. [root@s145 svntest]# svn mkdir abc
  2. A abc
  3. [root@s145 svntest]# ls
  4. 2.log 3.log abc testdir testfile.txt
  5. [root@s145 svntest]# svn commit -m “新增目录” ./
  6. Adding abc
  7. Committed revision 11.

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

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

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

svn cat file

18. 新建分支

  1. [root@s145 svntest]# svn mkdir branches
  2. A branches
  3. [root@s145 svntest]# svn copy svn://192.168.0.146:18080/repos/testdir svn://192.168.0.146:18080/repos/branches -m “新建分支测试”
  4. Committed revision 12.

19.递归清理工作拷贝

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

20.svn提交文件流程

  1. (1)首次提交文件
  2. svn add file
  3. svn commit -m 'msg' file
  4. (2)非首次提交文件
  5. svn commit -m 'second' file

21.git 提交文件流程

  1. git add file #每次提交时都需要add添加
  2. git commit -m 'msg'
  3. 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 等设置版本控制系统时使用的用户名和电子邮件。

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

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

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

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

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

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

$ git config --list

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

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

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

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

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

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

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/751474
推荐阅读
相关标签
  

闽ICP备14008679号