与svn区别
svn集中式版本控制系统;
git分布式。
集中式与分布式区别:集中式,中央服务器正常工作,且联网,才能工作;分布式,每台pc都是完整的版本系统,中央服务器仅方便交换修改,没有且不联网也能工作。
1. 安装;
- 下载(https://git-scm.com/downloads);
- 默认安装;
- 验证安装成功(在开始菜单里找到“Git”->“Git Bash”,可打开命令窗口);
- 设置用户名、邮箱:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2. 创建版本库;
- 创建目录(不包含中文);命令窗口切换到该目录;
- git init把这个目录变成git可以管理的仓库;
注意:文件UTF-8编码;不要使用Windows自带的记事本编辑任何文本文件;使用Notepad++打开,默认编码设置为UTF-8 without BOM;
3. 使用命令:
添加文件至git仓库(理解工作区、暂存区!):
git add filename
git commit -m "注释"
- 仓库状态,文件是否被修改等:
git status
文件具体改动:
git diff filename
版本回退
git reset --hard HEAD^ //回退上一个版本;HEAD^^回退上上版本;HEAD~100回退往上100个版本;
git reset --hard 版本号前几位 //回退至指定版本
从最近到最远的提交日志
git log
git log --pretty=oneline
查看命令历史
git reflog
撤销修改
git checkout -- filename
两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
删除
rm filename
git rm filename
git commit -m "注释"
添加github远程库
- github上new个新库;
- 根据GitHub的提示,在本地的learngit仓库下运行命令:
git remote add origin git@github.com:github用户名/learngit.git //包装公钥已绑定
常遇错误(github账号未绑定公钥):
解决方法:
https://blog.csdn.net/yushuangping/article/details/84240863
- 本地推送至远程库:
git push -u origin master
- 之后的本地推送至远程库:
git push origin master
克隆
- github上new个新库;
- 本地克隆:
git clone git@github.com:github用户名/gitskills.git
参与开源项目
git clone git@github.com:github用户名/bootstrap.git
分支管理
标签管理
git常用配置
git config --global color.ui true
忽略特殊文件
使用码云
搭建github服务器
使用git
原文:https://www.cnblogs.com/qiliaoqie/p/10365500.html