Gitee项目管理
git简介
git的基本使用 重要 掌握
远程仓库的操作 gitee 掌握
IDE(vscode webstrom idea)中使用git 掌握
git简介:
Git是目前世界上最先进的分布式版本控制系统(没有之一),开源,免费的。
作用:可以快速管理项目(一堆文件的集合)
分布式:
版本控制系统:
其它常见的版本控制工具:
svn(subversion) 集中式的
CVS
作用:
主要作用:
可以快速管理项目(一堆文件的集合) 版本管理
协同修改
数据备份
权限控制
历史记录管理
分支管理
下载:
安装傻瓜式安装。
本地仓库:
先学习本地仓库的管理,自己的电脑上,可以创建很多的本地仓库。
远程仓库:
再学习远程仓库的管理
局域网内:
gitlab服务器
外网环境下:
github
码云(gitee)
coding
git的作者就是linux的作者:
linux是一个操作系统。在git bash中可以使用linux中的大部分命令。
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop
~叫家目录 Desktop是桌面
window系统也是多用户的OS 每一个用户都有一个目录,叫就家目录
linux常用的命令:
touch xxx.txt 创建一个文件 名字是xxx.txt
mkdir aaa 创建一个文件夹
clear 清屏
ls 列出当前目录夹下都有哪些文件或目录 不包含隐藏的文件或目录
ls -all 列出当前目录夹下都有哪些文件或目录 包含隐藏的文件或目录
键盘上的上下箭头 调出之前你打过的命令
rm 文件名 删除某个文件
检测git版本:
git --version
一、git的基本使用:
1)设置用户名和邮箱(第1次)
作用:告诉git你是谁
git config --global [user.name](http://user.name) yuanfang
git config --global user.email [2667074093@qq.com](mailto:2667074093@qq.com)
2)创建一个文件夹,把这个文件夹,初始化成一个本地仓库
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop
$ mkdir wyy-music
进入wyy-music
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop
$ cd wyy-music/
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music
把此文件夹初始化成本地仓库
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/wyy-music/.git/
3)本地仓库的管理
在此文件夹下,分成了三个区域:
工作区 我们都是在工作区去创建文件或文件夹
缓存区(暂时区) 如果说你创建的文件或文件夹,要想让git管理,你需要把工作区的代码扔到暂存区
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git add readme.txt
上面的命令:表示把工作区的readme.txt扔到缓存区 此时还不能形成版本
历史区: 只有把缓存区的文件扔到历史区,才能形成一个版本
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git commit -m "创建readme.txt说明文件"
-m 后面写此版本的注释 每一个公司,都有自己的规范
4) 查看版本:
git log 每一个版本都有一个唯一的ID
// master表示主分支
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git log
commit a027a36a008ed8be834128b24d6cffc5eb02742e (HEAD -> master) // HEAD是指针
Author: yuanfang [2667074093@qq.com](mailto:2667074093@qq.com)
Date: Wed Sep 22 10:16:36 2021 +0800
创建readme.txt说明文件
二、后面再去创建一个新的文件或文件夹的流程:
1)使用git status查看状态
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git status
On branch master
Untracked files:
(use “git add …” to include in what will be committed)
index.js(红色,表示工作区的代码没有扔到缓存)
nothing added to commit but untracked files present (use “git add” to track)
2)git add * *表示把工作区的所有的文件或文件夹(如果是空的文件夹,git是不进行管理的)扔到缓存区
git add . 同 git add *
3)git diff 文件名 将工作中的文件和缓存区文件进行对比
在工作区添加代码:var one = "one111";
对比如下:
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git diff index.js
diff --git a/index.js b/index.js
index c388cd5..2d26b36 100644
--- a/index.js
+++ b/index.js
@@ -1 +1 @@
-var one = "one";
\ No newline at end of file
+var one = "one111";
\ No newline at end of file
三、查看版本强调:
默认:
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git log
commit 0ac26121e8b977751e92e4730633dba27b26abad (HEAD -> master)
Author: yuanfang [2667074093@qq.com](mailto:2667074093@qq.com)
Date: Wed Sep 22 10:28:38 2021 +0800
创建项目的入口文件
commit a027a36a008ed8be834128b24d6cffc5eb02742e
Author: yuanfang [2667074093@qq.com](mailto:2667074093@qq.com)
Date: Wed Sep 22 10:16:36 2021 +0800
创建readme.txt说明文件
简化显示:
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git log --pretty=oneline
0ac26121e8b977751e92e4730633dba27b26abad (HEAD -> master) 创建项目的入口文件
a027a36a008ed8be834128b24d6cffc5eb02742e 创建readme.txt说明文件
查看简短版本:
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git reflog
0ac2612 (HEAD -> master) HEAD@{0}: commit: 创建项目的入口文件
a027a36 HEAD@{1}: commit (initial): 创建readme.txt说明文件
git reflog可以显示出所有的版本 包含你回退的版本。
四、版本的前进行后退:
git reset --hard 版本ID 回到任意的版本 配合git reflog 还可以再回去
git reset --hard HEAD^ HEAD^表示回到上一个版本 HEAD^^表示回到上上个版本
五、删除文件相关:
如果某个文件被我们删除了:
1)删除了,没有提交(commit)
恢复文件:
A)git reset --hard 版本ID (可能会出问题)
B)git checkout -- App.js(被删掉的文件名)
2)删除了,提交了(形成版本了)
恢复文件:
git reset --hard 版本ID
如果删除文件没有形成版本,你删除,还可以回退到之前拥有该文件的版本,找回删除的文件。
如果删除文件有形成版本,你删除,就删除了,找不回之前删除的文件了。
六、分支管理:
默认情况下,我们的操作都是在master分支上进行的操作。master也叫主分支。
真实开发,不同的公司都有自己的分支管理规范。
根据功能,分成不同的分支。
根据成员,分成不同的分支。
创建分支:
git branch 分支名 是在已有版本上进行创建的。
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git branch b1
创建好后,并不会自动切换到b1分支
查看分支:
git branch -v
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/wyy-music (master)
$ git branch -v
b1 e407765 对axios进行二次封装 此时b1分支上也有master上面的分支
- master e407765 对axios进行二次封装 当前处理master分支
切换分支:
git checkout b1
合并分支:
先切到接受合并的主支 git checkout master
git merge b1
删除分支:
git branch -d b1
七、远程仓库管理:
使用gitee充当远程仓库,大家需要注册一个账号。
八、创建远程仓库:
创建完毕后,每一个远程仓库,都有一个地址:
分两类:
1)[https://gitee.com/tubie/wyy-music.git](https://gitee.com/tubie/wyy-music.git) 走https第一次可能要提示输入用户名和密码
2)git@gitee.com:tubie/wyy-music.git
先使用https开头的地址
克隆远程仓库到本地:
git clone [https://gitee.com/tubie/wyy-music.git](https://gitee.com/tubie/wyy-music.git)
默认情况下,你克隆下来的仓库和远程仓库就建立了关联。
把本地仓库的版本推荐到远程仓库:
git add .
git commit -m "自行设置内容注释"
git push 远程仓库的地址 ([https://gitee.com/tubie/wyy-music.git](https://gitee.com/tubie/wyy-music.git))
后面再写代码时,也是先进行本地仓库的管理,再进行远程仓库的管理
九、上面,每一次把本地仓库的版本扔到远程仓库,都是git push 远程仓库的地址。
给远程仓库的地址起别名:
git remote -v 查看远程仓库都有哪些别名
Administrator@MS-SXACBDGCBVLV MINGW64 /e/wyy-music (master)
$ git remote -v
origin https://gitee.com/tubie/wyy-music.git (fetch)
origin https://gitee.com/tubie/wyy-music.git (push)
有一个默认的别名,叫origin。
也就是说,你可以这样推送:git push origin master
再给远程仓库起别名:
git remote add music [https://gitee.com/tubie/wyy-music.git](https://gitee.com/tubie/wyy-music.git)
起了别名之后,在推送数据就用 $ git push music(别名) master
Administrator@MS-SXACBDGCBVLV MINGW64 /e/wyy-music (master)
$ git push music master
删除别名:
git remote remove music
十、远程仓库映射到本地仓库(https方式)
可能需要登录。
独立创建一个远程仓库,叫first,独立创建一个本地仓库,叫one,默认情况下,两者之间是没有关系。
可以通过git remote -v 查看本地仓库是否有远程仓库的别名。
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/one (master)
$ git remote -v
现在,本地仓库要和远程仓库建立联系:
git remote add origin https://gitee.com/tubie/first.git
先保存本地版本到暂存区
git add .
git commit -m “xxxx”
把本地仓库的版本扔到远程仓库
git push origin master
十一、远程仓库映射到本地仓库(SSH方式)
不需要登录
配置如下:
打开一个dos窗口(win+R+cmd),输入如下:
C:\Users\Administrator>ssh-keygen -t rsa -C "[2667074093@qq.com](mailto:2667074093@qq.com)" 直接四次回车
在家目录中会生成.ssh目录,里面有两个文件,一个私钥,一个是公钥,复制公钥。
![](https://secure.wostatic.cn/static/azJomV1pyuSVUYkeWWsuMU/V4`[@ZH~MD]YULN2DIUQL9U.png)
打开码云,copy到码云中(在Gitee网页中,找到头像下的设置并点击,找到SSH公共密钥,设置就可以了)。
这些配置完毕。后面,你就可以使用这个地址:git@gitee.com:tubie/first.git
后面推送时:
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop/one (master)
$ git remote add origin [git@gitee.com](mailto:git@gitee.com):tubie/first.git
git push origin master
十二、现在的情况下,远程仓库不动,本地仓库向远程仓库提交版本。
有没有一个情况,远程仓库的版本领先我们的本地仓库?
答:有
如果你本地仓库的版本和远程仓库的版本不一致,本地仓库创建的版本再向远程仓库提交时,提交不成功的。
此时,你需要使用git pull把远程仓库中你没有版本拉取下来。
也就是说,在你推送新版本之前,先去pull。
git pull origin master
(从远程仓库中拉取文件下来,有可能会进入文件编辑模式之中,所以需要下部操作)
:wq 退出vi编辑
把本地仓库的版本推荐到远程仓库:
git add .
git commit -m “自行设置内容注释”
git push 远程仓库的地址 或者 git push origin master
后面再写代码时,也是先进行本地仓库的管理,再进行远程仓库的管理