Git的使用
2019-03-11 本文已影响0人
无尾树袋熊
Git
- GIT是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
工作区(Working Directory): 仓库文件夹里面, 除了.git目录以外的内容
版本库(Repository):.git目录, 用于存储记录版本信息
- 版本库中的暂缓区(staga):
- 版本库中的分支(master): git自动创建的第一个分支
- 版本库中的HEAD指针:用于指向当前分支
学习网站: https://backlog.com/git-tutorial/cn/
单人开发
- 在工作区中的打开git终端
- 通过git init指令, 初始化版本库
- 编写代码
- 将编写的代码通过git add .(或git add 文件名) 添加到版本库的暂缓区中
- 通过git commit -m"说明" 将暂缓区的文件添加到HEAD指针指向的分支中(默认为master分支)
- 通过git log查看我们每次添加修改的内容
- 通过git diff查看当前文件和版本库中文件的差异
- 通过git reset --hard 版本号 在任意版本之间切换
GIT设置配置信息
配置用户名:git config user.name "用户名"(用于跟踪修改记录)
配置邮箱:git config user.email "邮箱"(用于多人开发间的沟通)
git config -l : 查看配置信息
git config -e : 编辑配置信息
git status :查文件的状态
查看某个文件的状态:git status 文件名
查看当前路径所有文件的状态:git status
git add :将工作区的文件保存到暂缓区
保存某个文件到暂缓区:git add 文件名
保存当前路径的所有文件到暂缓区:git add .(注意,最后是一个点 . )
git commit:将暂缓区的文件提交到当前分支
提交某个文件到分支:git commit -m ”注释” 文件名
保存当前路径的所有文件到分支:git commit -m ”注释”
git log :查看文件的修改日志
查看某个文件的修改日志:git log 文件名
查看当前路径所有文件的修改日志:git log
用一行的方式查看简单的日志信息:git log ––pretty=oneline
查看最近的N次修改:git log –N(N是一个整数)
git diff :查看文件最新改动的地方
查看某个文件的最新改动的地方:git diff 文件名
查看当前路径所有文件最新改动的地方:git diff
git reflog :查看分支引用记录(能够查看所有的版本号)
git rm:删除文件(删完之后要进行commit操作,才能同步到版本库)
git reset:版本回退(建议加上––hard参数,git支持无限次后悔)
回退到上一个版本:git reset ––hard HEAD^
回退到上上一个版本:git reset ––hard HEAD^^
回退到上N个版本:git reset ––hard HEAD~N(N是一个整数)
回退到任意一个版本:git reset ––hard 版本号(版本号用7位即可)
Git忽略提交规则 - .gitignore配置
多人开发
- 项目负责人在服务器上,的工作区中打开git终端
- 通过git init --bare,初始化一个共享的版本库
- 项目负责人告诉开发人员, 当前项目的版本库路径(URL)
- 开发人员通过 git lone从远程服务器下载共享的版本库到本地
- 编写代码
- 将编写的代码通过git add . 添加到版本库的暂缓区中
- 通过git commit -m"说明" 将暂缓区的文件添加到HEAD指针指向的分支中
注意点: 一定不要将不能运行的代码提交到远程的版本库交到远程服务器的操作不会那么频繁,一般情况下一天最多两次
- 通过git push 将本地编写好的代码提交到远程服务器的版本库
- 其它开发人员可以通过git clone或者git pull从远程服务器获取最新的代码
git branch : 查看所有分支
git branch 分支名称 : 查看所有分支
新创建的分支中的内容和master分支中的内容一样
git checkout 分支名称 : 切换到指定分支
git merge 分支名称 : 合并分支
将当前所在分支和指定名称分支进行合并
git branch -d 分支名称 : 删除指定分支
不能在当前分支中删除自己
注意点
- 在企业开发中, 如果有其它同事往服务器提交了新的代码, 那么我们就没办法直接提交,如果我们想要提交,那么我们必须先将服务器的代码更新到本地
- 更新到本地之后,如果没有代码冲突, 那么可以直接提交
- 更新到本地之后,如果有代码冲突,那么必须先手动解决了冲突,才能提交
- 在企业开发中,一定要记住,千万被好几天都不提交代码.某个模块实现了就立即提交到远程服务器