- 登录gti创建仓库
-- 搭建环境 设置用户名和email地址 因为get每次提交都会使用用户信息
-- 注意这里的信息只是用户信息和gie上的创建仓库的用户信息不用是同一个人
$ git config --global user.name "xxx"
$ git config --global user.email "9026323+zhangdaming6@user.noreply.gitee.com"
-- 查看配置信息
$ git config --list
$ git config user.name
-- 创建一个目录
$ mkdir rudystudy
$ cd rudystudy
-- 初始化一个仓库 就是当前目录
$ git init
-- 创建一个文件
$ touch README.md
-- add 保存到本地仓库中
$ git add README.md
-- 提交到本地仓库 m是注释
$ git commit -m "first commit"
[master (root-commit) fb7c50e] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
-- git remote 命令是用于操作远程仓库的操作
-- git remote add 添加一个仓库 名字 + url origin是远程仓库的别名 添加到远程版本库
$ git remote add origin https://gitee.com/zhangdaming6/rudystudy.git
-- 第一次关联远程仓库 推 和master分支关联
$ git push -u origin "master"
-- 删除文件
$ rm xxx.text
- 获取仓库
1 在本地初始化一个仓库 git init
2 从远程克隆一个仓库 git clone url
-- 查看远程分支和本地分支
git branch -r 远程
git branch 本地
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
-- 远程分支拉取到本地分支 将远程orgin仓库中dev拉下来 -b本地分支 来接收
git checkout -b dev origin/dev
-- 将本地一个分支推上远程
git branch test 创建一个本地分支
git checkout test 切换到test分支
-- 可以缩写成这样
git checkout -b test
-- 把分支推到远程项目上
git push orgin test
-- 删除本地分支
git branch -d test
- 修改文件
- 切换分支
$ git branch //查看本地分支
$ git branch fix //创建分支
$ git checkout fix //切换分支
$ git status // 查看分支修改状态
$ git add bug.java //保存修改bug文件
$ git commit -m "注释"
--如果是修改的文件可以这样缩写
$ git commit -a -m "add commit 一起来"
-- 合并分支
$ git merge fix //将fix分支合并到现在所在分支上
-- 将本分支内容推送到对应远程分支上
$ git push origin master
- 日常操作
- 查看远程仓库地址
$ git remote -v
- 创建分支
$ git branch dev
-切换分支
$ git checkout dev
- 本地分支和远程分支关联
$ git branch --set-upstream-to=origin/dev(远程分支origin/dev) dev(本地分支)
- 分支操作
-- 删除分支
$ git branch -d test //删除本地分支
$ git branch -D test //强制删除
-- 删除远程分支
$ git push origin -d branchname
-- 切换分支
$ git checkout dev
- 查看日志
git reflog
-回滚
$ git reset --hard 5d90a31
- 查看日志和前进后退
- 查看日志
$ git log //看日志
$ git status //看状态
$ git log --pretty=oneline
- 查看历史记录就是提交记录
$ git log --oneline //简介的形式查看日志
$ git reflog //适合查看前进后退的形式
-- 注意每一次提交会有版本号 根据版本号来进行回滚
-- 回滚
$ git reset --hard hardnumber[索引值]
- 删除文件恢复
$ git rm bug.java //删除文件
$ git add bug.java
$ git commit -m "删除bug"
$ git status
$ git reflog
$ git reset --hard hardnumber
- git 支持的协议类型
1 git 协议
2 ssh 协议
3 https 协议
--ssh
ssh协议是安全外壳协议 是一个可靠的专为远程登录的网络服务安全协议,使用ssh协议可以有效防止远程登录泄密
由于本地仓库和远程仓库之间是用ssh加密传输的,所以必须让远程服务器仓库认证你的sshkey
在此之前要生成一个sshkey
使用ssh协议通信时,推荐使用秘钥的验证方式,必须要为自己创建一对秘钥,公钥和私钥 公钥是存放到访问的服务器上
并不会一直使用用户和密码进行验证
- 其他命令
$ git pwd //显示当前路径
$ ll //查看当前分支下的所有文件
$ cat name.text //查看文件
$ vim name.text //文件编辑器
- 将本地项目推送到gitee上
- 1 要在gitee上创建一个仓库
- 2 打开idea 初始化项目创建仓库
- 3 继续add commit
- 4 在pull的时候出现了拒绝
- 5 打开所在目录 进入git bush
运行git pull origin master --allow-unrelated-histories
会自动进入一个vim编辑器 使用esc后 :wq 退出即可 - 6 在回到idea中pull
成功
-复习
- clone 克隆项目
1 初始化本地项目 git init
2 从远程地址上克隆项目 git clone url 或是直接克隆 不用初始化
3 进入项目目录 查看本地分支和远程分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有分支 本地和远程分支
4 将远程分支dev拉取下来本地中 注意本地是没有dev的
git checkout -b dev origin/dev
如果远程新建了一个分支,本地没有该分支。可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name
5 切换分支 git checkout master
6 查看当前分支和远程分支的关联关系
git branch -vv
7 本地有分支但是远程没有分支或是有分支没有进行关联 如何关联
在本地新建分支 git checkout -b branch_name
和远程分支关联并创建远程分支 git push -u origin branch_name -u为关联意思
- 用idea来clone git项目更容易 拉取远程分支也是直接切换就行
===========
- 联系小示例
git clone 克隆项目
git status 查看项目状态
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有分支
git checkout dev 切换到dev分支
git relog 查看日志
git merge dev 将dev分支合并到当前分支上
git reset --hard index 回滚到某次提交上
- 注意当你的git版本号和远程的版本号不一致时会出现 推送拒接和拉取失败 这时可以选择重新clone或是强制推送
git push -f