赞
踩
目录
1.创建远程仓库--推荐使用gitee ,一款国内的git托管服务。
跨平台多人开发工具,重要的传输控制工具。
git是目前世界上最先进的开源分布式版本控制系统,可以对你的项目进行托管,帮助你在写项目的时候,进行不同版本的控制,只要git文件不消失,就可以随时回退到修改的任何界面。帮助你在修改自己的代码的时候能有后悔的余地。
简述git的操作流程--如下图
workspace:项目的工作空间 在我们进行项目的修改的时候,我们需要pull(拉)从最新的仓库进行拉取,获得最新的结果。
index:暂存空间 每次进行的修改,我们add之后就会暂存到暂存区域,以便有更多的修改之后一次提交。
Repository:本地仓库 commit命令之后,我们会把在缓存空间的所有修改一次性提交到本地仓库,这个时候我们本地的文件已经被修改。
checkout 创建分支,开辟工作空间。
Remote :远程仓库 当我们修改的内容需要上传到远程仓库的时候,这个时候就需要进行push 发送我们的修改内容,这个时候其他合作者,就可以在远程仓库获得我们最新的修改结果,进行实时的任务提交。
远程仓库的clone ,我们在进行项目的时候要clone 一下远程仓库到本地仓库,达到我们本地仓库与远程仓库一致。
1.安装git
直接在官网上面下载git 安装程序地址然后默认选项安装就可以了。
安装完成之后,我们右键打开程序的时候就会有 两种,GUI是git的图形化操作页面,bash 是命令行操作,我们一般选择命令行,操作更快更简便。
选择git bash 打开,需设置
- $ git config --global user.name "Your Name" //设置你的git用户名
- $ git config --global user.email "email@example.com" //设置你的专属邮箱
以上属于在这个分布式版本控制系统中自报家门。
2.创建版本库--仓库
也就是这个仓库里面的所有文件被git托管,我们可以在自己想要被托管的任何一个仓库进行git bash 然后命令行输入
- $ git init //这个是输入语句
- Initialized empty Git repository in /Users/michael/learngit/.git/
这个时候你就会发现自己的仓库拥有一个 .git的文件 这个时候也就是说明这个仓库被git托管,你的任何改动git都可以进行追踪。
.git文件不允许修改。
优点:集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。并且速度较快。
主要就是配置你的公钥,配置公钥有官方文档,我就不赘述了, ssh 公钥是为了连接仓库。 码云提供了部署的公钥和个人的公钥,部署的公钥主要是为了服务部署时使用的只有只读功能。个人公钥可以读写。
标题便于识别,然后把自己生成的公钥复制到这个上面,点击确定就可以看到自己添加的key.
在头像旁边的加号点击新建仓库,然后创建仓库
仓库的名称于本地的库尽量保持一致
这个时候我们就可以在本地的库使用命令 git remote add 把它和gitee 的远程库关联
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
之后我们就可以进行 git push 和 git pull的操作了
报错情况:
- fatal: remote origin already exists. //说明链接了一个名叫origin的远程库
- 可以使用 git remote -v
- 查看远程库的信息
- origin git@github.com:wang/learngit.git (fetch)
- origin git@github.com:wang/learngit.git (push)
- 删除已有的github远程库
- git remote rm grigin
- 再关联gitee的远程库
- git remote add origin git 公钥
链接多个远程库
git remote rm origin //删除 原来的远程库
然后,先关联GitHub的远程库:
git remote add github git@github.com:mi/learngit.git
注意,远程库的名称叫github
,不叫origin
了。
接着,再关联Gitee的远程库:
git remote add gitee git@gitee.com:wang/learngit.git
然后查看链接库的信息
- git remote -v
- gitee git@gitee.com:wang/learngit.git (fetch)
- gitee git@gitee.com:wang/learngit.git (push)
- github git@github.com:mi/learngit.git (fetch)
- github git@github.com:mi/learngit.git (push)
推送命令到GitHub 或 gitee
- git push github master
- git push gitee master
1.选择自己要提交代码的页面
右键 git bash 选项 进入到git的命令行窗口
2.在当前页面下建立git 初始项
git init //在当前的页面创建一个.git的选项
3.链接远程仓库
- git remote add origin git@github.com:yourName/repositoryname.git //任意一个都可以
- git remote add origin https://github.com/yourName/repositoryname.git
- 查看是否连接成功
- $ git remote -v
- origin git@gitee.com:wang-yunfei11/gitee-test.git (fetch) //表示连接成功
- origin git@gitee.com:wang-yunfei11/gitee-test.git (push)
4.从远程仓库拉取文件
git clone是远程操作的第一步,通常是从远程主机克隆一个版本库,eg:$ git clone ## 该命令会在本地主机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。eg:$ git clone #版本库网址# #本地目录名# git clone支持多种协议,除了http(s),还有ssh,git,本地协议。
- $ git clone https://github.com/libgit2/libgit2 mylibgit
- $ git clone user@server:path/to/repo.git
而更新分支的时候就需要
git pull origin "分支名" //git pull 作用是,取回远程主机某个分支的更新,再与本地的指定分支合并
5.创建并且查看分支名称
- git checkout -b dev //创建一个名为 dev 的分支
- 一般情况下 不在主分支上面 master 修改代码 而是创建一个分支 修改代码
- git branch //查看当前的分支有哪些
- * dev //带星号 表示当前的分支
- master
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:
- $ git branch dev
- $ git checkout dev
- Switched to branch 'dev'
这个时候修改的数据默认就是在dev分支上面进行,提交也是在dev上面。
—在我们修改一些东西的时候要经常利用
- $git status //查看当前的提交状态以及修改状态
- On branch master
- Changes to be committed:
- (use "git restore --staged <file>..." to unstage)
- modified: Test.txt
——我们也可以查看分支上的区别
-
- @BiQing MINGW64 /e/Gittest (master)
- $ cat Test.txt
- Git is a distributed version control system.
- Git is free software distributed under the GPL.
- 我就是试试
-
- @BiQing MINGW64 /e/Gittest (master)
- $ git checkout -b dev
- Switched to a new branch 'dev'
-
- @BiQing MINGW64 /e/Gittest (dev)
- $ cat Test.txt
- Git is a distributed version control system.
- Git is free software distributed under the GPL.
- 我就是试试
- 我还是试试
-
- @BiQing MINGW64 /e/Gittest (dev)
- $ git checkout master
- Switched to branch 'master'
- M Test.txt
-
- @BiQing MINGW64 /e/Gittest (master)
- $ cat Test.txt
- Git is a distributed version control system.
- Git is free software distributed under the GPL.
- 我就是试试
- 我还是试试
6.合并分支
首先切换到master 分支的上面
- $ git checkout master
- Switched to branch 'master'
此刻查看状态会发现,文件并没有被修改,是因为修改的内容在dev分支上面
合并分支
- $ git merge dev
- Updating d46f35e..b17d20e
- Fast-forward
- readme.txt | 1 +
- 1 file changed, 1 insertion(+)
合并完成删除dev的分支
- $ git branch -d dev
- Deleted branch dev (was b17d20e).
经查看 分支dev被删除
- 分支小结查看分支:git branch
-
- 创建分支:git branch <name>
-
- 切换分支:git checkout <name>或者git switch <name>
-
- 创建+切换分支:git checkout -b <name>或者git switch -c <name>
-
- 合并某分支到当前分支:git merge <name>
-
- 删除分支:git branch -d <name>
7.提交修改到远程仓库
可以在master界面下,也可以在dev 分支下面(不过我已经删除)
在master分支下面,需要把dev分支的内容合并到master下
在dev分支下面,需要把master分支的内容合并到dev下
提交代码到暂存区
- @BiQing MINGW64 /e/Gittest (dev)
- $ git add . //add . 添加所有修改的内容到暂存区
-
- @BiQing MINGW64 /e/Gittest (dev)
- $ git status //查看当前的状态
- On branch dev
- Changes to be committed:
- (use "git restore --staged <file>..." to unstage)
- modified: Test.txt
- new file: Testthree.txt
提交暂存区的代码
-
- @BiQing MINGW64 /e/Gittest (dev)
- $ git commit -m "提交我的第三个文件夹" //提交暂存区的文件到当前的分支
- [dev 1659aa7] 提交我的第三个文件夹
- 2 files changed, 2 insertions(+)
- create mode 100644 Testthree.txt
-
推送代码到远程仓库
- $ git push origin master
- Enumerating objects: 8, done.
- Counting objects: 100% (8/8), done.
- Delta compression using up to 8 threads
- Compressing objects: 100% (6/6), done.
- Writing objects: 100% (6/6), 563 bytes | 563.00 KiB/s, done.
- Total 6 (delta 3), reused 0 (delta 0), pack-reused 0
- remote: Powered by GITEE.COM [GNK-6.3]
- To gitee.com:wang-yunfei11/gitee-test.git
- 423d4dd..f77f4dc master -> master
- //显示成功 我们可以在我们的gitee上面查看
8.在gitee查看提交的内容
有我们提交的内容,说明提交成功。
以上就是关于gitee 的简单操作,我们日常重复的就是
4--7的相关内容。
常用操作小结:
git init ===== 建仓库, 初始化Git仓库
git add 说明.txt ===== 把文件(这里指“说明.txt")纳入暂存区(还没有真正纳入版本控制,需要再一步确认)
git status =======查看暂存区状态
git commit -m '...' 提交纳入仓库(要写原因所以要加 -m)====git commit -m "说明内容"
注意:第一次提交需要先提交姓名和邮箱,否则会报错
git log ===== 查看提交日志
git checkout - - ====删除文件还原:
git reset -- hard =====版本号码(至少写五位) 回到历史版本号版本
git reflog ======= 回到删除的未来版本(过去将来时)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。