Git

    Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目,局域网可以配置GitLab服务器,外网环境有GitHub、码云。常见的版本控制工具:Subversion(SVN)、CVS等

    版本控制工具的好处

        协同修改:多人并行不悖的修改服务器端的同一份文件

        数据备份:不仅保存目录和文件的当前状态,还能保存每一个提交过的历史状态

        版本管理:在保存每一个版本的信息时候要做到不保存重复数据,以节约存储空间,提高运行效率,这方面SVN采用文件系统快照方式

        权限控制:对团队中参与开发的人员进行权限控制,对团队外开发者贡献的代码进行审核——Git独有

    历史记录:查看修改人、修改时间、修改内容、修改信息。可将本地文件恢复到某一个历史状态

    分支管理:允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率

    Git的优势:

    a.大部分操作在本地完成,不需要联网

    b.尽可能添加数据而不是修改或删除数据

    c.分支操作非常快捷流畅

    d.与Linux命令兼容

安装Git及初始化本地仓库

    git --version:查看Git安装版本

    init:初始化命令,初始化完成后会有一个.git隐藏文件夹,用来管理Git仓库

.git

    git config --global user.name "配置全局用户名"

    git config --global user.email "配置用户邮箱"

初始化配置

    git add 文件名:将工作区的文件添加到暂存区

    git commit -m/message"修改注释":将暂存区的文件提交到本地库中

    git status [文件名]:查看暂存区/分支中的文件状态

git添加、提交、查看

查看日志:

    git log:查看历史记录,显示从最近到最远的日志

详细日志

    简化显示:git log --pretty=oneline

    查看简短日志:git reflog

简短日志

Git执行/存储流程

    代码工作区---add--->暂存区(属于临时存储)---commit--->本地库(历史流程)

    工作区、暂存区和本地仓库,逻辑上是本地计算机,当我们新建一个文件时,文件位于工作区,处于(modified)修改状态,还没有提交保存;通过git add命令将其添加到暂存区,文件是已暂存(staged)状态,表示把已修改的文件放到下次提交时要保存的清单中,通过命令git commit将文件放入本地仓库,文件为提交(commited)状态,表示该文件已经被安全地保存在本地数据库中,到这一步可以说是成功生成了一个新的版本,远程仓库用来将本地仓库上传到网络、实现备份、共享和合作

    git branch -v:查看当前git仓库所有分支

    git branch [分支名]:添加分支

    git checkout 分支名:切换分支

新建分支

    git branch -d/delete 分支名:删除分支

删除分支

    配置Git远程SSH Key

    ssh-keygen -t rsa -C "email,建议写真实邮箱",会有三次提示输入,直接回车即可

    在用户目录下生成 .ssh 目录 ,个 里面有一个 id_rsa.pub 文件 ,保存的就是公钥。

    登录码云,在 SSH 公钥文本框里粘贴 id_rsa.pub 文件的内容

    验证秘钥是否添加成功

    执行命令 ssh -T [email protected]

    Git 使用 SSH 连接第一次验证服务器的 key 时,需要你进行确认,此时输入 yes 回车即可。

    再次执行 ssh -T [email protected]

连接成功

    git remote -v:查看所有地址别名

    git remote add 别名 路径:添加新路径并配置别名

    git remote remove 别名:删除配置的别名/路径

配置地址

    git clone 仓库地址:克隆仓库/分支

    git pull [别名] [分支名]:从远程仓库下载

    git push [别名] [分支名]:推送到远程仓库

克隆,上传和下载

        Clone和Pull区别:

        Clone是克隆到Repository中,Pull是直接拉取到workspace中

注意:如果遇到上传代码冲突,一定要先Pull到本地,然后修改冲突的文件,最后add—>commit—>push

Git理解详情图

常用命令集:

mkdir: XX(创建一个空目录 XX 指目录名)

pwd: 显示当前目录的路径

git init 把当前的目录变成可以管理的 git 仓库,生成隐藏的.git 文件。

git add XX 把 XX 文件添加到暂存区。

git commit -m “XX” 提交文件 -m 后面的是注释

git status 查看仓库状态

git diff XX 查看 XX 文件修改了哪些内容

git log 查看历史记录

git reset -hard HEAD^ 或者 git reset -hard HEAD~ 回退到上一个版本(如果想回退到 100个版本,使用 git reset -hard HEAD~100)

cat XX 查看 XX 文件内容

git reflog 查看历史记录的版本号 id

git checkout --XX 把 XX 文件在工作区的修改全部撤销

git rm XX 删除 XX 文件

git remote add origin https://gitee.com/oldlu_wk/gittest.git 关联一个远程库

git push -u (第一次提交要用-u 以后不需要)origin master 把当前 master 分支推送到远程库

git clone https://gitee.com/oldlu_wk/gittest.git 从远程库中克隆

git checkout -b dev 创建 dev 分支 并切换到 dev 分支上

git branch 查看当前所有分支

git checkout master 切换回 master 分支

git merge dev 在当前分支上合并 dev 分支

git branch -d dev 删除 dev 分支

git branch name 创建分支

git stash 把当前的工作隐藏起来等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时也删除文件

git remote 查看远程库的信息


在IDEA中配置和操作Git

在IDEA中配置Git

    创建本地仓库,一般指定到项目结构下

创建本地仓库

    添加到暂存区和提交到本地仓库工作空间

添加到暂存区和提交到本地仓库工作空间

    配置远程仓库地址

1
2

    提交并上传

提交并上传

    上传过程中可能出现的问题: Push rejected: Push to origin/master was rejected

Push rejected: Push to origin/master was rejected

    解决办法:

    1.选择你要上传代码的文件夹,鼠标右键 git Bash Here

    2.输入下面两行命令

        git pull origin master --allow-unrelated-histories --把远程仓库中的内容 pull 到本地工作目录

        git push -u origin master -f --在 pull 下来的项目中做修改,通过以上命令 push 到远程仓库了

解决上传问题

    在IDEA中解决Git上传冲突问题

出现冲突

    点击合并

合并

    修改冲突文件

修改

    修改完成后即可Commit and Push

上传成功

你可能感兴趣的:(Git)