git常用操作

git:分布式版本控制

相较于svn,多了一个暂存区 index

svn: 集中式版本控制

git的原理

在这里插入图片描述
其中svn中不存在Index这个区域

一般git工作流程

在这里插入图片描述

创建仓库

git init .

拉取remote数据

  1. 拉取本机remote数据
git clone H:/项目/git-remote  dir_name
  1. 拉取其他服务器remote数据
git clone  user@ip:/path/to  save_path #需要输入密码
  1. 免密拉取代码
    第一步,生产ssh公私钥对
ssh-keygen -t rsa

生产两个文件id_rsa, id_rsa.pub
将id_rsa.pub中的数据放入远端ssh 密钥管理,则可以免密直接clone

提交代码

  1. 将修改数据移交到Index,
git add xxxx
  1. 将修改数据移交到repository
git commit -s -m "提交日志"
-s : 对该次提交签名
  1. 将repository中的数据提交到remote中
git push origin(远程主机名) local_branch:remote_branch

查看提交记录

git log      
git relog

回退版本

git reset --xxx hash_value   #不加hash_value则不清空文件修改店
git reset --xxx  head~index #index是往前回退几个版本,该值在git relog中有表现

–mixed 代码回退到workspace
–soft 代码回退到Index
–hard 代码回退到remote

修改上一次提交内容

git add xxx
git commit amend 

批量整理repository

git rebase -i hash_start  hash_end  # 后面两个参数可省略

对repository中未到remote的数据进行修改

执行上述指令后,找到需要修改的hash版本,将前面的pick改为e,保存退出

git add xxxx
git commit --amend 
git rebase --continue

合并提交

执行上述指令后,找到需要修改的hash版本,将前面的pick改为s,保存退出,这会将s的这一次提交与之前一次提交记录合并

分支处理

建立分支

git branch branch_name

切换分支

git checkout -b local_branch_name remote_branch_name
git checkout local_branch_name 

分支合并

branch1合并到当前分支

git merage branch1 

解决冲突文件

冲突文件中会有以下内容, 其中sssss是本地内容,xxxxxx是远端数据,手动修改冲突文件,选择自己所需要的内容,进行保存

<<<<<<<<<<<<<<<<<<
sssss
=================
xxxxxx
>>>>>>>>>>>>>>>>>  hash_value(commit_string)

随后执行

git add 
git commit -s -m "xxxxx"
git rebase --continue

配置用户信息

  1. 配置用户名
git config user.name lsy
  1. 配置用户邮箱
git config user.email 503000895@qq.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值