Git使用手册
为什么使用Git,不使用Svn?
集中式就存在单点故障风险,一旦SVN的远程仓库挂掉了,那我的本地项目再也不能做提交,也不能做分支的切换,也不能够干和版本管理相关的任何事情。更极端一点,如果svn的服务器磁盘故障,虽然我们可能利用某些员工本地的快照版本尽可能恢复工程,但是当我们把这个相对完整的版本重新部署到服务器的新仓库时,将会丢失所有的历史版本包括日志。
git是分布式的,表示我们每个人的本地项目都包含一个完整Git仓库。这一点一定要牢记,本地也是一个仓库。
.svn只是简单的保存一些版本信息,但是如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为.git目录是处于你的机器上的一个克隆版的版本库,并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。
1、流程图
2、Git使用准备
1、安装Git,打开Git Bash
2、设置用户名和邮箱
git config --global user.name “youmengmingming” #设置用户名
git config --global user.email “youmeng@123.com” #设置邮箱
git config -l / git config --list #查看配置
//配置快捷指令 git-log(配置这个指令,操作git-log可以查看方便一些)
touch ~/.bashrc #创建.bashrc文件
vi ~/.bashrc #用vi编辑器打开.bashrc文件
//将下列命令输入进文件里,简洁指令
alias git-log=‘git log --pretty=oneline --all --graph --abbrev-commit’
输入 (:wq )退出vi编辑器
Bash中 ,选中即复制,鼠标中键即粘贴
3、创建本地仓库(Repository)
-
git init #初始化,建一个本地的空仓库
-
git add . #将文件夹下的内容都加入到暂存区,也可以将.换成具体文件名
-
git commit -m “第一次提交” #将暂存区的内容提交到本地仓库, -m指令后面跟着的是添加说明
1、创建一个文件夹作为工作区
2、在文件夹中鼠标右击Git Bash Here
3、使用git init指令,进行本地仓库创建 (创建成功后,文件夹中会出现 .git的文件夹)
4、使用git add . 指令,将工作区内的文件添加到暂存区
5、使用git commit -m “本次添加修改的描述信息” 指令,将暂存区的内容本地仓库
6、使用git log 可以查看历史提交日志
7、使用git status 可以查看修改状态
4、版本回退
命令:git reset --hard [commitID] #进行版本回退
git reflog #可以查看已经删除的提交commitID
5、添加忽略文件
用指令touch进行文件创建,touch .gitignore
给.gitignore添加忽略规则
6、分支
- git branch #查看分支
- git branch feature #创建feature_WMY的分支
- git checkout feature #切换当前分支
- git checkout -b others #创建others分支,并切换到others 分支
- git merge others #将others分支合并到当前分支
- git branch -d others #删除others分支
- git branch -D others #强制删除others分支
- git branch -vv #查看远端分支与本地分支的对应关系
7、解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解 决冲突,解决冲突步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区(git add.)
- 提交到仓库(git commit -m “merge conflict”)
8、远程仓库
-
git clone git://192.168.60.158/.git #从远程仓库上克隆内容到本地仓库
-
git remote add 别名 git://192.168.60.158/.git #设置远程仓库,并设置一个别名
-
git pull 别名 分支名 #向别名对应的远程仓库的对应分支 拉取 内容到工作区
-
git push 别名 分支名 #-f 强推 #将本地仓库的内容向别名对应的远程仓库推送到分支名对应的分支
-
git push --set-upstream 远端名称 本地分支名 : 远端分支名
-
git push --set-upstream origin master #建立分支与远程仓库分支的关系
9、其他操作
-
git help [指令] #git help status 查看status的指令帮助 git help config 查看config指令帮助
-
git daemon --verbose --export-all --base-path=“仓库路径” #用于两人快速克隆版本库
git 克隆下来的是整个版本库,不仅仅只是工作文件