版本管理

本贴最后更新于 625 天前,其中的信息可能已经事过境迁
作    者: yangjian
创建日期: 2023-02-18 11:43:20
版权说明: Copyright (c) 2023 yangjian. All rights reserved.

Tags: #tools#
References:


Git

修改全局配置

# 设置全局用户
git config --global user.name "xxxx"
git config --global user.email "xxxx@xxx"
# 设置git编辑器为vim
git config --global core.editor vim
# 设置git支持x显示中文路径
git config --global core.quotepath false

创建 git 仓库

# 1. 在git/gitee上创建远程仓库

# 2. 在本地创建仓库并连接远程仓库
mkdir snippets
cd snippets
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/Young_jam/snippets.git
git push -u origin "master"

# 2.5 或者连接本地已有仓库
cd existing_git_repo
git remote add origin https://gitee.com/Young_jam/snippets.git
git push -u origin "master"

基础操作

  1. git init 初始化新仓库
  2. git add [file/.] 添加[新文件/所有文件]到暂存
  3. git commit -m "xxx" 提交修改到本地版本库并附加提交信息
  4. git commit --amend 修改上次的提交信息
  5. git push 同步到远程仓库
  6. git pull 同步远程仓库到本地
  7. git clone httpS://git.xxxx 复制远程仓库到本地
  8. git status 查看仓库信息
  9. git log [-N] 查看仓库提交日志

进阶操作

  • git 强制远程覆盖本地

    # 1. 拉取远程更新
    git fetch --all
    # 2. 撤销本地修改
    git reset --hard origin/master
    # 3. 同步远程仓库
    git pull origin master
    
  • 删除未跟踪文件

    # 查看未跟踪文件
    git clean -n
    # 删除文件
    git clean -f
    
  • 取消跟踪文件

    git rm --cached readme1.txt    # 删除readme1.txt的跟踪,并保留在本地。
    git rm --f readme1.txt    # 删除readme1.txt的跟踪,并且删除本地文件。
    
  • 本地 git 回退到指定版本

    # git log 查看特定版本的commit sha码
    git reset --hard [961ca2d2f45a28b962e293a10b11a8f7ab4e4777]
    
  • 撤销提交

    git reset --soft HEAD~1
    # 撤销最后一次commit,但是不撤销add操作
    
    git reset --mixed HEAD~1
    # 撤销最后一次commit及add操作,与git reset HEAD~1作用相同
    

SVN

基本命令

  • svn list (ls) [path] 查看 svn 仓库目录, 第一次可能出现证书错误, 输入 p 忽略, 然后输入用户密码即可

  • svn checkout (co) [path] 从 svn 仓库检出项目到本地

  • svn add [file] 添加文件到版本管理

  • svn commit -m "message" 提交到版本库

  • svn ci -F [commit.txt] 提交到版本库, 提交信息从 commit.txt 中读取

  • svn update 同步远程版本

  • svn propset svn: ignore "commit.txt" . 当前文件夹忽略 commit.txt 文件

  • svn cp -m "message" [src] [dst] 从 src 分支创建新分支 dst

  • svn log 查看提交日志

    • -l {n} 查看最近的 n 条日志
  • 新建仓库

    1. 通过图形界面浏览(Repo-browser)远程仓库,在指定位置创建新文件夹,然后 checkout 到本地,添加文件,正常提交即可
  • 在已有工程的基础上创建新的分支

    1. 通过图形界面,选择现有项目右键选择 TortoiseSVN->Branch/tag,选择分支路径,即可在远程仓库中创建新分支,然后 checkout 到本地

常用脚本

  • 一次添加所有新增文件到版本库
svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn add
  • 一次从版本库中删除所有需要删除的文件
svn st | awk '{if ($1 == "!") {print $2}}' | xargs svn rm

  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    209 引用 • 358 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • 版本管理
    1 引用

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...