Git的快速学习与掌握:在Git命令面板的使用、在IDEA中配置并使用Git的教程
原文章链接 http://t.csdn.cn/hL3b9
Git分布式版本控制系统,适用于团队开发合作,本文讲述的是
Git的快速学习与掌握:在Git命令面板的使用、在IDEA中配置并使用Git的教程
学会使用基本命令第一步:跟随图片动手练习
安装和配置
直接一步或者中间改路径安装git客户端(Linux,Windows,Mac),然后按照下图进行操作
提交操作
版本操作、切换版本
远程仓库操作
分支操作
标签操作(状态定格)
git push失败, 提示! [rejected] master -> master (fetch first)error: failed to push some refs.解决办法
第一次提交项目到一个新的仓库
我们按照如下的步骤上传了一个项目到仓库的时候,是可以成功的:
1、初始化
git init
2、将当前目录下修改的所有代码从工作区添加到暂存区
git add .
3、将暂存区内容添加到本地仓库
git commit -m ['注释']
4、将本地仓库与远程仓库连接起来
git remote add origin 仓库地址
5、将项目推送到远程仓库的master分支上
git push origin master
允许无关的历史
git pull origin master --allow-unrelated-histories
第二次将一个新的项目在提交到仓库
此时,我们继续按照上面的步骤提交项目,第五步的时候就会出现一个错误!!
出现错误的主要原因是gitee中的在云端修改的文件不在本地代码目录中
此时我们要执行git pull --rebase origin master命令将README.md拉到本地
然后执行git push origin master就可以成功了
git push origin master
一 、概念
安装和配置
直接一步或者中间改路径安装git客户端(Linux,Windows,Mac)
配置环境变量
常用的托管服务
前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我
们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub
、码云
、GitLab
等。
两种方式创建
初始化
$ git init
克隆创建
http方式clone
$ git clone <url>
- gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,
因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub
- 码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,
所以相比于GitHub,码云速度会更快
- GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,
使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内
部网络搭建git私服。
SSH方式clone
配置SSH公钥
1.进入 C:\Users\Administrator\.ssh 目录
2.生成公钥:ssh-keygen -t rsa
3.将公钥信息public key 添加到码云账户中
配置ssh-key
命令ssh-keygen -C “用户名”( passphrase留空更方便)
把*.pub文件内容复制到git服务器端进行配置(pub是公钥,可以告诉任何人,私钥自己保管好)
部分客户端配置( TortoiseGit 、SourceTree、GitKraken)
本地clone方式
$ git clone <文件目录>
创建版本库(裸库)
$ git init --bare <仓库名称>
基本名词
暂存区:上图有讲解
工作区 :本地的git clone的目录就是工作区
版本库 :工作区下的.git目录就是版本库
远程仓库 :服务器上的“版本库”
二 、git语法
基本命令
----------初始化、状态、日志-------------
git init 初始化本地库
git status 查看本地状态(暂存区、工作区)
git show <标签名/版本号> 显示对应的提交信息
git log [option] 查看提交记录详细信息(当前分支所在版本为止的)
--all 显示所有
--pretty=oneline 一行显示,省略提交日期和提交人。
--abbrev-commit 缩短版本号
--graph 图形化,不按时间展示
--follow <文件名> 指定文件
git reflog 查看版本记录(不包括提交人和日期,所有版本)
----------提交------------
git add <.>/<文件名> 添加到暂存区
git commit -m <"注释信息"> 提交到本地仓库的当前分支
-a 添加到暂存区然后提交(存在Untracked状态的文件则无法使用)
git status 显示仓库状态
简化版语法:git status -s
简化版标识:
?? 表示文件未跟踪
D 表示删除文件
A 表示新增文件
M 表示修改文件
R 表示改名
UU 表示冲突
蓝色表示已经存在暂存区 ,红色表示未在暂存区
git add 表示把差异加入暂存区
放入暂存区
git add <注释> //表示跟踪新文件 并把新文件放入暂存区,添加新文件时必须标注明文件的路径
git add <新文件> //表示跟踪新文件 并把新文件放入暂存区,添加新文件时必须标注明文件的路径
git add <修改的文件> // 将修改的文件放入暂存区
git add <手动删除的文件> // 将删除文件这一操作放入暂存区
git add <解决冲突的文件> //将冲突文件发生的差异放入暂存区
git add . //这里有个点" . "意思将所有改变的差异放入暂存区
或者用 git add *
git mv <文件原来的名称> <文件现在的名称> //改名并直接进入暂存区
git rm 删除一把那个直接进入暂存区
git rm --cached < file > //停止跟踪文件但不删除文件
git diff < file > //比较工作区与暂存区文件
git diff < commit > < file > // 比较两个版本库比较
提交到版本库
语法:
git commit //提交所有暂存区文件到本地版本库
git commit -m “本次提交的说明” //提交所有暂存区文件到本地仓库
git commit -am “说明信息” //提交所有修改过文件到本地仓库 不论在不在缓存区
历史查看
git log //查看提交历史(所有的提交日志)
git log --graph //以ASCII图形方式查看
git log --oneline //简化方式查看
git log --graph --oneline //以ASCII简化方式查看
git log -p < file> //查看指定文件提交历史
git log -p < file > //查看这个文件谁在什么时间修改了什么
重新提交
git commit --amend //提交完发现漏掉其他文件没有添加,或者提示信息写错
git commit -amend -m ‘修改信息说明’ //重新提交并直接修改备注信息
撤销操作
(1)文件修改了 没有add,撤销修改之后和版本库一样
(2)文件修改了,添加到暂存区之后,又做了修改,撤销之后回到和暂存区一样
git checkout --< file> //注意中间是两个-,一个-表示切换分支
回退操作
git reset --hard HEAD //取消所有未提交的修改,恢复到最近一次提交
git reset --hard HEAD^ //取消所有未提交的修改,回退到前一的版本
git reset --hard HEAD~5 //取消所有未提交的修改,回退到前五的版本
git reset --hard xxxxxxx //取消所有未提交的修改,回退到commit的版本
账号密码记录在本地
git config --global credential.helper store
下载项目的zip文件解压之后没有.git文件,没办法commit,
这个时候需要git init ,然后和项目关联
unzip <repo>.zip
cd <repo>
git init
git add .
git remote add origin https://github.com/<user>/<repo>.git
git remote update
git checkout master
三、在IDEA中配置Git
配置
拉取同理
在idea中创建分支
右下角