个人博客
区别
1.git 是分布式管理工具,而 svn 是集中式管理
2.git 把内容按照元数据的形式存储,而 SVN 是按照文件存储
3.git 的内容完整性要优于 SVN
4.git 分支和 SVN 的分支结构不同
5.Git 没有一个全局的版本号,而SVN有
常用命令
首先是SVN:
svn checkout url //检出
svn delete filename //删除文件
svn up //update最新代码
svn commit -m "message"//提交代码并添加注释
svn log //显示提交的log记录
svn diff //显示前后版本的差异
其次是GIT:
git init 当前目录改为git目录,变为工作区
git config --global user.name "username"; //初次设置用户名
git config --global user.email "email"; //初次设置邮箱
git clone "url" //克隆远程仓库代码
git add . //将所以改动代码添加
git add xx.txt //添加一个文件至缓存区
git rm --cache xx.txt //从缓存区删除一个文件
git commit -m "message" //提交代码并添加注释
git pull //从服务器更新代码
git push origin master //将代码提交到远程仓库
git reset //跟一个commit(key)回到某个状态下
git reset –hard //彻底回退到某个版本,本地的源码也会变为上一个版本的内容
eg: git reset --hard HEAD^ //最新一次提交的父提交
git reset –hard id值 还原 (或 Header~number)
git log 查看本地仓库提交历史
git log --graph 显示日志主线分支图
git branch 分支名 创建/查看分支
git checkout ‘分支名称’ 切换分支
git checkout –b ‘分支名’ 创建并切换分支
git merge ‘分支名’ 合并分支
git branch –d/D 删除分支
-> git 本地操作
-> 背景: 分布式( git ) 和 集中式( svn, subversion )
-> 创建仓库
git init
-> 追踪文件
git add .
-> 提交数据
git commit -m "...."
-> 查看状态
git status
-> 查看日志
git log --oneline
-> 对比
git diff
-> 查看分支
git branch
-> 创建分支
git branch 分支名
-> 删除分支
git branch -d 分支名
-> 切换分支
git checkout 分支名
-> 回到指定的版本
git reset --hard Head~数字
git reset --hard SHA1 值
-> 查看所有的 版本
git reflog
-> 合并分之
git merge 分支名
-> git使用ssh方式上传代码与github
- git生成公钥和私钥
命令:`ssh-keygen -t rsa`生成的公钥与私钥文件会在当用户目录的.ssh目录下.
-> git 远程操作
-> 服务器: github.com, git.oschina.net, gitlab 开源项目
-> 基本操作步骤
-> 注册
-> 新建仓库
-> 得到一个 url: ( https://... )
-> 本地:
git push url master
git remote add origin url
git push -u origin master
-> 注意: linux 用户密码是不显示任何信息的, 直接输入即可
命令行小技巧:
rm -f "a.txt" //强制删除a.txt
rm -r "folder" //删除文件夹下的所有文件包括自己
ls //列出文件夹下的详情
tree //对文件夹以树形展示
tree -f //包括文件以树形展示
TAB //提示文件名
Linux命令
ls 查看当前目录(文件夹)下所有文件夹及文件
cd xx 进入xx文件夹
cd .. 返回上级目录(文件夹)
cd / 返回根目录
touch xx 创建文件并命名为xx
rm xx 删除文件xx
clear 清屏
cat xx 查看文件xx的内容
mkdir xx 创建目录(文件夹)并命名为xx
rmdir xx 删除目录(文件夹)xx,当文件夹内容不为空时不能删除
rmdir -rf 删除目录(文件夹)xx并删除其内容
编辑
进入文件 vi 文件名
启用编辑 按insert键
开始编辑
保存 esc -> :wq+ -> 回车