Git+码云/github的使用

Git 简介

免费、开源的分布式版本控制系统,可用于处理大小项目。

Git与其他版本控制器的区别:

其他工具以文件变更列表的方式存储信息(基于差异的版本控制),而Git:
1.提交更新或者保存项目状态时,基本会对全部文件夹创建一个快照,并保存这个快照的索引。Git对数据更像一个快照流。
2.大多数操作只需要访问本地文件和资源
3.Git 保证完整性:存储数据时,计算校验和,然后以校验和来引用,传送过程中丢失信息或者文件损坏,Git都能发现。Git数据库中保存的信息是以文件内容的哈希值来做为索引,而非文件名。
4.Git 一般只添加数据
5.Git 的三种状态:
已修改:修改了文件,但尚未存入数据库。
已暂存:对已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
已提交:修改了文件并已经存入数据库。
与三种状态相对应的是工作区、暂存区、Git目录

工作流程:

1.在工作区修改文件
2.将下次提交的更改选择性存储,放入暂存区中
3.提交更新,找到暂存区的文件,将快照永久性存储到Git目录

主要命令

git config --list# 获取Git配置信息
git add # 将工作区的修改提交到暂存区
git commit # 将暂存区的修改提交到当前分支
git reset # 回退到某一个版本
git stash # 保存某次修改
git pull # 从远程更新代码
git push # 将本地代码更新到远程分支上
git reflog # 查看历史命令
git status # 查看当前仓库的状态
git diff # 查看修改
git log # 查看提交历史
git revert # 回退某个修改
rm 文件名#删除文件
git checkout--file #丢弃对工作区的修改

完整流程

步骤如下:

SSH key的生成:

ssh-keygen -t rsa -C “你的邮箱”,然后在c盘中找到.ssh文件夹 在gitee / github的ssh中复制id_rsa.pub(公钥)中的内容到SSH
码云:
在这里插入图片描述
Github:
在这里插入图片描述

远程服务器的添加:
git remote add orgin(别名 可修改) `git@github.com:bukas/bukas.git`(你的github或者码云的项目地址)
git remote -v #查看远程服务器信息

Git常用命令

(1)mkdir 文件名 #创建版本库
(2)git init #初始化 可以用 ls - ah命令查看
(3)git add 文件  #把文件添加到版本库,多个文件用空格分开
,也就是把文件修改存入暂存区
(4)git commit -m “备注信息,最好是填了” ,#实际上把暂存区的内容提交到当前分支,然后git push推送给远端
(5)git status # 查看仓库状态
(6)git diff 文件名 # 查看修改了哪些内容,用git diff HEAD --文件名查看工作区版本和版本库最新版本的区别
 # 5.6为非必须操作 
 版本需要回退时:
(7)git log (--pretty=online)# 加了括号中的内容表示只查看每次版本号
(8)git reset --hard HEAD^ #(一个^表示向上一个版本,可多个),
#也可以以版本号来操作如:
 git reset --hard daf95#(版本号可不写完,一般是写前面几个,考虑到可能会有重复,可以多写几位)
(9)git reflog #查看历史命令,可以通过id从回退的版本返回到最新版本
(10)git checkout --文件名 #将该文件在工作区的修改全部撤销,使其回到最近一次commit或者add 状态,也可使用git reset命令
(11)文件删除
 rm test.txt #你已经删除了文件,Git知道你删除了文件,版本不一致。使用
 git rm test.txt 和git commit -m "信息"
 #,该文件从版本库删除。如果是删错了,
 用git checkout --文件名 #恢复rm命令删除的内容
 (12)git push -u origin master #第一次推送master分支,需要加上-u 以后都不用加
 (13)git clone 你的项目地址 #远程克隆
 (14)git pull #从远程拉项目
 (15)git checkout -b dev #创建分支与切换到dev,相当于以下两个命令:
  git branch dev #创建名为dev的分支
  git checkout dev #切换到dev分支
  git branch #查看当前分支
  将dev合并到master分支:
  git checkout master #切换到master分支
  git merge dev #将dev合并到当前分支
  
合并完成后,删除dev分支:
  git branch -d dev
  
  在本地创建和远程分支对应的分支,使用
  git checkout -b branch-name origin/branch-name
  ,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用
  git branch --set-upstream branch-name origin/branch-name;

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

两种冲突的解决:

1.在commit后,执行git pull -rebase时出现冲突:
(1)找到冲突文件,解决冲突
(2)执行git add xxx (xxx为冲突文件全路径)
 (3) 执行git rebase -continue
 (4) 执行git pull-rebase
 (5) 执行git push
2.在你本地进行了修改,你执行了git stash,然后你从服务器上pull了新代码,出现了冲突:
 (1) 找到冲突文件,解决冲突 
 (2) 执行git add xxx(xxx为冲突文件全路径)
 (3) git commit 
 (4) git pull –rebase 
 (5) git push
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SinceThenLater

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值