Git
一、Git与SVN的主要区别?
SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git 是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本库都在自己电脑上,可以快速高效地处理从小型到大型的各种项目。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!
二、理论部分
Git本地有三个工作区域:工作目录、暂存区、版本库(本地仓库)。外加一个远程仓库。
master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下都是在新建的分支上工作,工作完后,比如要发布,或者说分支上的代码稳定后可以合并到主分支master上来。
注: 当安装完Git后需要先设置一下用户名和邮箱,作用是区分不同操作者身份,每一个版本的提交信息中都能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下,否则无法提交代码。完成后可以在电脑当前用户的目录中的.gitconfig文件中查看到。
命令如下 :
设置用户名与邮箱
# git config --global user.name "xxx" #名称
# git config --global user.email "xxxxxxxx@qq.com" #邮箱
三、Git常用命令
常用命令如下 :
查看系统config
# git config --system --list
查看当前用户(global)配置
# git config --global --list
添加文件到暂存区
# git add 文件名
将当前文件夹下所有文件添加到暂存区
# git add .
提交暂存区中的内容到本地仓库 -m 提交信息
# git commit -m "日志信息" 【文件名】
查看本地库状态
# git status
查看版本信息
# git reflog
查看版本详细信息
# git log
# git log --pretty=oneline
查看不同版本之间的文件差异
# git diff
把当前版本回退到上一个版本
# git reset --hard HEAD^
回到指定版本,版本穿梭
# git reset --hard <commit id>(在.git的refs文件夹下可查看,或者通过git log、git reflog命令查看)
将工作区的指定文件的修改全部撤销
(如果暂存区有值,回退暂存区数据,如果没值,回退版本库数据)
# git checkout -- filename
删除文件
# git rm filename
列出所有本地分支
# git branch
列出所有远程分支
# git branch -r
新建一个分支,但依然停留在当前分支
# git branch [branch-name]
新建一个分支,并切换到该分支
# git checkout -b [branch]
合并指定分支到当前分支
# git merge [branch]
切换分支
# git checkout [branch]
删除分支
# git branch -d [branch-name]
删除远程分支
# git push origin --delete [branch-name]
# git branch -dr [remote/branch]
配置远程仓库路径(注意是自己建仓库路径)
# git remote add origin https://gitee.com/leoen/crm.git
推送本地分支上的内容到远程仓库
# git push -u 远程地址|别名 分支名
将远程仓库的内容克隆到本地
# git clone 远程地址 分支名
拉取远程库内容
# git pull 远程库地址|别名 分支名
进入 C:\Users\Administrator\.ssh 目录,可以看到生成的公钥和私钥
# ssh-keygen -t rsa
开发流程
推送码云远程仓库步骤
1:初始化本地的仓库
git init
2: 设置码云的用户名跟码云注册邮箱
git config --global user.name “码云里面用户名”
git config --global user.email “码云里面注册邮箱/手机”
3:配置忽略提交的文件.gitignore
4:将项目添加到本地仓库
git add .
git commit -m “项目初始化”
5:配置远程仓库请求路径
git remote add origin 自己在码云创建仓库路径
6:将本地仓库中项目推送到远程仓库
git push -u origin master