git
创建仓库
git init [filename] [directory]
git clone [rep url] [directory]
git remote add origin https://github.com/KID-1912/xxx.git
基本操作
-
git pull
拉取远程代码并合并 -
git add .
将工作区修改添加至暂存区 -
git commit -m "your comment" [--amend]
提交暂存区至本地仓库 [替换上次commit] -
git push origin branchName -f
推送至远程代码并合并 [强制]
查看信息
git status
当前git环境各文件状态untracked
:暂未版本控制状态modified
:受版本控制并且已修改的状态staged
:受版本控制已修改并提交到(add)暂存区的状态committed
从暂存区已经提交到(commit)本地仓库的状态
git diff [file]
比较暂存区与工作区git log [--oneline]
查看历史提交(commit)记录 [单行概述]git blame [file]
查看指定文件的历史修改记录
分支管理
-
git branch [-d] [-m] [-a] [name]
查看分支列表 [删除] [重命名] [查看远程分支] [创建分支] -
git switch branchName
切换分支 -
git checkout [-b] name
[创建并切换至新分支] 切换分支 -
git fetch origin master:master
拉取远程指定分支并同步更新对应本地分支 -
git merge [branchname] --continue
合并分支 -
git rebase [branchname] --continue / git pull --rebase
变基并分支 -
git tag -a [标签名] -m [注释]
打标签 -
git push —tags origin master
标签推至远程 -
git push --force-with-lease origin master
检查远程无提交后强制推送(常用于rebase)
代码回退
git checkout .
git checkout -- <file>
将工作区[指定]文件重置为暂存区git restore [file]
将工作区指定文件重置为暂存区git reset HEAD
将暂存区全部文件重置为本地分支目录--hard [HEAD/版本号]
将工作区、暂存区全部文件重置为本地分支目录/指定分支版本--mixed
工作区不变化,暂存区清空(未add过状态)--soft
工作区不变化,暂存区回退(暂存区回退为上次add前)
临时存储
-
git stash
git stash save -a "xx"
将当前未提交修改储存起来 -
git stash apply [id]
git stash pop [id]
仅最近/指定id储藏应用/并移除记录 -
git stash list
查看储藏列表 -
git stash clear
清除所有储藏
文件操作
git rm [--cached] <file>
[仅对暂存区]删除目录下文件[夹]git mv <filename> <newfilename>
重命名文件
忽略文件
## OS
.DS_Store
.idea
*.log
## Local
node_modules
## Built-files
.cache
dist
基本配置
-
提交时用户信息备注
git config --global user.name "KID-1912" git config --global user.email heyutongxue@gmail.com
-
是否开启自动转换为CRLF换行符
git config –-global core.autocrlf false
-
代理设置(git执行远程操作报错 443)
git config --global --get http.proxy git config --global http.proxy 127.0.0.1:19180
注:所有config命令去掉–global参数,即只对当前仓库生效
其它命令
-
git fetch origin remoteBranchName:localBranchName
拉取远程分支 [:作为本地分支]注:不生成
-
git rebase tempbranch
变基合并(将最新的tempbranch作为基底并入) -
git rebase --containue
继续此次由于冲突导致停止的rebase合并 -
ssh-keygen -t rsa -C “your email”
生成ssh key
github
一键同步vscode插件
借助github的gist实现本地vscode插件同步
-
github平台新建Personal access tokens串
-
githubGist创建gist串
-
vscode安装Setting Sync,ctrl+shift+p,搜索sync高级选项
-
在高级选项中填入串,Shift + Alt + U读取本地配置至gist
-
新电脑安装同一插件,在高级选项中填入串,Shift + Alt + U同步配置至本地
svn
工具安装
TortoiseSvn(小乌龟)
SVN生命周期
-
新建版本库(Create)
1.1 版本库唯一,部署在远程服务器
1.2 所有工作副本均来自版本库文件检出
-
检出副本(Checkout)
将版本库中的指定项目目录检出至本地作为工作副本
-
编辑本地副本
-
检查修改,对比版本库
-
本地同步为最新版本库状态,确保没有conflict(Update)
-
提交更改,更新版本库(Commit)
其他操作
-
还原(Rever)
丢弃本地副本的指定修改部分,还原至起始状态
-
更新至版本
将本地副本切换为指定版本,再调用commit即版本库回退
其他概念
-
Tag/Branch
将本地副本或者版本库目录复制为一份新的版本库目录,可用于版本标记或者作为合并源合并
SVN初次连接
-
VPN连接内网
IP地址,用户名,密码
-
SVN登录
用户名,密码
-
连接成功,浏览版本库