Git的基本操作

Git简介
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
Git下载地址
https://git-scm.com/
设置用户名
$ git config user.name ‘github用户名’
设置邮箱
$ git config user.email ‘邮箱’
查看git版本信息
$ git --version
使用git将项目提交到远程代码仓库
注意 本地开发一般需要建两个分支一个自己的分支,一个主分支(master),本地次分支代码修改无误后,合并到主分支,在进行提交
1.在项目中执行git init 建立本地仓库初始化
2.与远程仓库建立连接 git remote add origin [远程仓库路径 url] 第一次提交远程仓库
3.git status 查看本地代码的状态(自己的分支)
4.git add . 添加到缓存区
5.git commit -m 确认添加
6.git chekout master 切换本地主分支
7.git pull 主分支拉取远程最新代码
8.git merge zhu 在主分支上合并自己的分支
9.git push origin master 提交主分支到远程仓库

容易出现的问题在这里插入图片描述问题出现的原因是远程仓库与本地仓库不一致,远程仓库存在一个文件,而本地仓库没有,我们add,commit,push之前没有先pull,这时候再pull就会得到以下提示“fatal:refusing to merge unrelated histories”,提交不上去,更新不下来,怎么办?
执行git pull origin master --allow-unrelated-histories解决

git基本指令
查看分支 Git branch
查看远程分支 git branch -r
创建分支 git checkout -b zhu
切换分支 git chechout master
git log -p //查看提交所带来的改动
git log -p ggg //查看指定文件的改动
git diff //查看暂存区与工作区之间的差别
git diff --cached
git diff HEAD //查看工作树与最新提交的差别
版本回退
git reset //回溯历史版本
git reset --hrad //回溯到指定状态,只要提供目标时间点的哈希值

git 版本库忽略文件
在这里插入图片描述
使用shh协议进行代码提交
为了减少每次提交代码需要用户认证,我们可以通过shh的方式进行提交
查看本机下面是否存在密钥
cd ~/.ssh
ls
生成一个密钥
ssh-keygen -t rsa -C "[email protected]"
输入密钥名称 输入两次密码
生成密钥
在这里插入图片描述
生成两个密钥 我们这里使用gitee.pub,公共的密钥
在这里插入图片描述
在这里插入图片描述
将生成的公钥填入公钥区域,注意标题不能随便写,是公钥里面自动生成的

git与svn服务器的区别
svn的特点
中心的svn服务器中,存储着代码版本的变迁,及日志.
你想查看改动日志,请联网SVN服务器.
你想退回上个版本,请联网SVN服务器.
你想创建新的分支,请联网SVN服务器.
联网不说,万一SVN服务器要是坏了???后果你说呢.
git的特点
每个开发者的电脑上,都有完整的版本,日志,及分支信息.
但开发者不依赖于服务器,可以查看日志,回退版本,创建分支.
当然,世界各地的开发需要交换最新的版本信息,
因此,git往往也需要服务器.

但是,本质的区别在于:
git服务器是供开发者"交换"代码,服务器数据丢了没关系,分分钟再建一台.
svn的服务器,不仅交换代码,还控制着日志,版本,分支.服务器数据丢了就完了

使用git查看日志及版本回退
git log 查看日志
git log 查看文件的日志
git log . 查看当前文件夹下的日志
gitlog显示格式化
git log --pretty=oneline

git reflog 查看版本变化
$ git reflog
5d5df85 HEAD@{0}: commit: four
6207e59 HEAD@{1}: commit: three
70110b9 HEAD@{2}: commit: two
bc65223 HEAD@{3}: commit (initial): one

git版本切换
one line
second line
third line
four line

git版本切换
切换为head的前1版本,git reset --hard HEAD^
切换为head的前2版本,git reset --hard HEAD^^
切换为head的前100版本,git reset --hard HEAD~100

git版本切换 [利用版本号切换]
$ git reset --hard 6207e59

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章