记初学Gitee
目的:通过Git管理gitee托管项目代码
1.账户注册:
无论是GitHub还是码云(下称Gitee),要使用他们,我们都需要先注册账户,已有账户的可以跳过此步骤。
2.创建仓库:
a.创建远程仓库
登入Gitee后,点击头像旁边的"+"加号–>新建仓库
这里选择单分支模型,点击创建即可。
这里记住我们的仓库地址:https://gitee.com/user.name/test
b.初始化本地仓库
(1)Git Bash安装
附上软件下载地址:
链接:https://pan.baidu.com/s/1avs_omT8onCDqzhdcIlfhQ
提取码:zi3y
链接版本是 Git-2.24.1.2 64位windows系统。
安装完成后可在开始菜单找到Git文件夹,运行Git Bash 会弹出一个命令行类似的窗口,也可点击鼠标右键找到该选项。
Administrator@WQ-20170910DZUZ MINGW64 ~ 是什么意思:
@前是计算机用户名,
@后是计算机名,
MINGW64表示正在运行的Git Bash的信息
~表示根目录,默认情况下是C:\Users\Administrator
(2)获取SSHKey
由于本地Git仓库和Gitee仓库之间的传输是通过SSH加密的,所以必须要让gitee仓库认证你SSH key,在此之前,必须要生成SSH key。
按如下命令来生成sshkey:
$ ssh-keygen -t rsa -C "你的注册邮箱地址"
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
查看你的 public key,
$ cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2E... youremail@youremail.com
并把他添加到Gitee(gitee.com SSHKey添加地址)或GitHub(github.com SSHKey添加地址)
添加后,在终端中输入
#Gitee
$ ssh -T git@gitee.com
#GitHub
$ ssh -T git@github.com
第一次绑定的时候输入上边的代码之后会提示是否continue,输入yes后程序会自动连接,如果要求登录,直接输入登录信息即可。
再次执行上面的命令,检查是否成功连接,如果返回一下信息,则表示添加成功
$ ssh -T git@gitee.com
Hi xxx! You've successfully authenticated, but GITEE.COM does not provide shell access.
(3) 设置基本信息
接下来还需要简单的设置一些东西。
$ git config --global user.name "你的登录账号"
$ git config --global user.email "你的注册邮箱地址"
name尽量和码云或GitHub保持一致,但email必须是码云或GitHub注册时使用的邮箱。命令不分前后,没有顺序。
(4)初始化本地库
然后就是将你的远程仓库克隆到本地,或者你可以在本地初始化一个项目后再进行云端绑定。
克隆
#Gitee
$ git clone https://gitee.com/user.name/repository
#Github
$ git clone https://github.com/user.name/repository.git
#user.name 您在码云或github注册的用户名(登录账号名)
#repository 您创建的远程仓库名称
本地初始化
#Gitee
$ cd d:/test //首先在文件系统中创建一个项目文件夹,然后在Git中 cd 到这个工程目录
$ git init //初始化本地项目
$ git remote add origin <远程仓库地址> //绑定远程仓库
#注:地址形式为 https://gitee.com/yourname/test.git 或 git@gitee.com:yourname/test.git
#Github
$ cd d:/test
$ git init
$ git remote add origin <远程仓库地址>
#注:地址形式为 https://github.com/user.name/test.git
c.更新到远程仓库
在本地进行编辑后,更新到远程仓库
git add . //指定更新内容 . 表示全部更新,test.txt 表示更新指定文件
git commit -m "一些注释说明" //添加更新说明
git push origin master //执行更新操作
在执行更新操作时,由于需要验证远程仓库的用户信息,程序反应较慢,不要以为Git Bash挂掉了哦
如果是第一次更新,那么可能会跳出下面这样的窗口,输入您的用户名和密码,点击登录即可。
如果后续进行更新操作时出现这种情况,那么表示登录失败了,需要重新记录您的用户信息,再次输入用户名、密码登录即可:
从控制面板里找到如图对应位置
然后找到对应的普通凭据点开
点击编辑输入正确的账号密码之后保存,重新推送就没问题了。
常用命令
·如何从远程仓库同步最新版本到本地
$ cd d:/test
$ git pull origin master
·如何清屏
$ clear
·状态界面退出
英文键盘下按Q即可退出
·回退版本信息
git操作日志
git log --decorate --graph --oneline --all #显示当前及之前的版本号
git log --pretty=oneline #将版本历史显示为一行,历史版本号全部显示
git log --pretty=oneline --abbrev-commit #将版本历史显示为一行,历史版本号部分显示
git log --graph #查看分支合并图
git reset --hard HEAD^ //回退到上一个版本,其中(HEAD^^(上上版本),HEAD~100(往上100个版本)
执行版本退回后,本地工作区的内容会自动和回退到的版本库版本的内容保持同步;
版本回退,只是回退本地的内容,不会影响Git库中的内容。
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上个版本
Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^ ,上上一个版本就是HEAD^^,当然往上100个版本写100个 ^容易数不过来,所以写成HEAD~100。
回退到具体的版本号
$ git reset --hard e9efa77 //回退到 e9efa77 版本
·Git对新增目录的处理
首先看一下当前的状态:
$ git status
运行效果如下:
当前工作区没有新增文件和修改的文件,暂存区也没有待提交文件。
下面新增一个目录,代码如下:
$ mkdir softwhy
再来看一下当前的状态:
$ git status
运行效果截图如下:
并没有检测到目录的增加,这是因为Git只会检测文件的新增,对目录不感兴趣。
如果想让Git检测到目录的新增,只要在此目录下随意放一个文件即可,比如test.txt。
可以看到,目录已经被检测到。
git diff //查看文件修改内容
·git fetch和git pull的区别
(1)git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
git fetch origin mastergit log -p master…origin/mastergit merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmpgit diff tmp git merge tmp
(2)git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些,因为在merge前,可以查看更新情况,然后再决定是否合并。
————————————————
参考链接:
http://git.mydoc.io/
https://blog.csdn.net/xukai0110/article/details/80637902
https://blog.csdn.net/tyyking/article/details/82909099
https://blog.csdn.net/ZZQHELLO2018/article/details/82354900
https://www.cnblogs.com/einstein-2014731/p/11492637.html
https://blog.csdn.net/shog808/article/details/76563136
https://www.cnblogs.com/leaf930814/p/6664706.html
https://blog.csdn.net/h_ijun/article/details/80696567
https://baike.baidu.com/item/GIT/12647237?fr=aladdin
常用功能汇总
$ git config --global user.name "Your Name" // 配置用户名
$ git config --global user.email "Your Email" // 配置邮箱
$ git add <file name> // 将修改内容添加至暂存区
$ git add --all // 添加所有改变的已跟踪文件和未跟踪文件
$ git diff // 工作区和暂存区差异比较
$ git diff --cached // 暂存区和 HEAD 的差异
$ git diff HEAD // 工作区和 HEAD 的差异
$ git status // 查看当前状态
$ git commit -m "message" // 提交说明
$ git reset --soft HEAD^ // 重置上次提交,保留修改的内容
$ git reset --hard HEAD^ // 彻底重置上次提交,不保留修改
$ git reset --hard <commit id> // 彻底重置至某次提交,不保留修改
$ git log // 查看提交历史
$ git log --oneline // 提交历史简短显示
$ git log -5 // 查看最近5条提交历史
$ git checkout <branch_name> // 切换分支
$ git checkout -b <branch_name> // 创建并切换到该分支
$ git branch // 查看本地分支列表
$ git branch <branch_name> // 创建新分支,基于当前HEAD
$ git branch -D <branch_name> // 删除分支
$ git stash // 保存进度
$ git stash pop // 恢复最近一次保存的进度
$ git stash save "message" // 保存进度,并添加一个描述
$ git stash list // 查看保存的进度列表
$ git cherry-pick <commit ID> // 拣选一次提交应用于当前HEAD
来源:CSDN
作者:LHY12345888
链接:https://blog.csdn.net/u013763970/article/details/103854969