入门基础及常用操作"/>
Git入门基础及常用操作
目录
一.简介
二.配置自己的远程仓库利用 gitee
1.创建远程仓库--推荐使用gitee ,一款国内的git托管服务。
2.配置gitee
3.创建项目也就是创建仓库
三.常用的命令以及主要操作流程
一.简介
跨平台多人开发工具,重要的传输控制工具。
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" //设置你的专属邮箱
以上属于在这个分布式版本控制系统中自报家门。
2.创建版本库--仓库
也就是这个仓库里面的所有文件被git托管,我们可以在自己想要被托管的任何一个仓库进行git bash 然后命令行输入
$ git init //这个是输入语句
Initialized empty Git repository in /Users/michael/learngit/.git/
这个时候你就会发现自己的仓库拥有一个 .git的文件 这个时候也就是说明这个仓库被git托管,你的任何改动git都可以进行追踪。
.git文件不允许修改。
二.配置自己的远程仓库利用 gitee
1.创建远程仓库--推荐使用gitee ,一款国内的git托管服务。
优点:集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。并且速度较快。
2.配置gitee
主要就是配置你的公钥,配置公钥有官方文档,我就不赘述了, ssh 公钥是为了连接仓库。 码云提供了部署的公钥和个人的公钥,部署的公钥主要是为了服务部署时使用的只有只读功能。个人公钥可以读写。
标题便于识别,然后把自己生成的公钥复制到这个上面,点击确定就可以看到自己添加的key.
3.创建项目也就是创建仓库
在头像旁边的加号点击新建仓库,然后创建仓库
仓库的名称于本地的库尽量保持一致
这个时候我们就可以在本地的库使用命令 git remote add 把它和gitee 的远程库关联
git remote add origin git@gitee:liaoxuefeng/learngit.git
之后我们就可以进行 git push 和 git pull的操作了
报错情况:
fatal: remote origin already exists. //说明链接了一个名叫origin的远程库
可以使用 git remote -v
查看远程库的信息
origin git@github:wang/learngit.git (fetch)
origin git@github: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:mi/learngit.git
注意,远程库的名称叫github
,不叫origin
了。
接着,再关联Gitee的远程库:
git remote add gitee git@gitee:wang/learngit.git
然后查看链接库的信息
git remote -v
gitee git@gitee:wang/learngit.git (fetch)
gitee git@gitee:wang/learngit.git (push)
github git@github:mi/learngit.git (fetch)
github git@github:mi/learngit.git (push)
推送命令到GitHub 或 gitee
git push github master
git push gitee master
三.常用的命令以及主要操作流程
Git常用命令大全
1.选择自己要提交代码的页面
右键 git bash 选项 进入到git的命令行窗口
2.在当前页面下建立git 初始项
git init //在当前的页面创建一个.git的选项
3.链接远程仓库
git remote add origin git@github:yourName/repositoryname.git //任意一个都可以
git remote add origin .git
查看是否连接成功
$ git remote -v
origin git@gitee:wang-yunfei11/gitee-test.git (fetch) //表示连接成功
origin git@gitee: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 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-forwardreadme.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.txtnew 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:wang-yunfei11/gitee-test.git423d4dd..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 ======= 回到删除的未来版本(过去将来时)
更多推荐
Git入门基础及常用操作
发布评论