git的基本应用

1 git的基本应用

2 操作

2.1 签名

git config --global user.name "lala"
git config --global user.email "邮箱"

2.2 创建版本库

git init

2.3 查看当前库的状态

git status

2.4 添加数据到暂存区

git add data/ hql/ scripts/

2.5 提交

git commit -m '具体的提交的备注信息'

2.6 查看版本变更日志

git log  #进行查看历史记录
git log  --pretty=oneline  #简易信息查看

2.7 回退历史版本

## 1. 第一种方式:通过指针的前移和后移
git reset --hard HEAD^1 # HEAD表示指针指向的最新版本,^1上一个版本

--hard:硬,这种回顾不但将版本回溯,还会将指定的数据抹除。不会保留任何你改动的记录(推荐)
--soft:软,回退版本,也会保存改动的记录,不过会自动帮你git add。用git status查看是绿色。
--mix:折中,回退版本,并保留了所有改动记录,此时git status会有所有改动的记录为红色

## 2. 第一种方式:通过指针回到n个版本前
git reset --hard HEAD~2 #回退到2个版本之前的版本

## 3. 版本的历史追随
git reflog # 查看历史记录的版本号

2997abd HEAD@{0}: reset: moving to HEAD^1
56c21d5 HEAD@{1}: commit: dw_sales_order_v1.1
2997abd HEAD@{2}: commit (initial): dw_sales_order_app_v1.0

git reset --hard 56c21d5

2.8 文件还原

git checkout -- 文件名

$ git checkout scripts/xiaozhan.sh

tip:
会将没有添加到暂存区的文件内容进行还原

2.9 删除文件

1. 先删除文件
2. 再add
3. 再提交

3 工作区、暂存区、本地库

- 工作区(Working Directory):电脑本地硬盘目录
- 本地库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
- 暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

4 分支

4.1 查看分支

git branch -v

4.2 创建分支

git branch common

4.3 切换分支

git checkout common

4.4 合并分支

tip: 一般都是由主分支去合并其他分支
git merge common

4.5 冲突

##1. 设置冲突场景
1. 先修改master分支的文件:1.sh
2. 再修改common分支的文件:1.sh
3. 分别提交
4. master最后合并

##2. git diff 查找冲突的文件
diff --cc scripts/xiaozhan.sh
index 0a67ba9,0d9f18e..0000000
--- a/scripts/xiaozhan.sh
+++ b/scripts/xiaozhan.sh
@@@ -1,4 -1,2 +1,8 @@@
 +11111111111111111
  222222222222222222222222
++<<<<<<< HEAD
 +333333333333
 +
++=======
+ ddddddddddddddddddddd
++>>>>>>> common


##3. 解决冲突
修改这个文件

11111111111111111
222222222222222222222222
333333333333
ddddddddddddddddddddd

## 4. 重新add和commit再重新合并即可

二 GitHub

1 连接到github

## 1. 先在本地创建本地的库
## 2. 在github上注册账号
## 3. 在github创建一个仓库
## 4. 将本地的代码推送到github上去了
## 4.1 建立远程连接
git remote add <远端代号> <远端地址> 
<远端代号> 是指远程链接的代号,一般直接用origin作代号,也可以自定义。
<远端地址> 默认远程链接的url
e.g.
git remote add origin https://github.com/lala/dw.git

## 4.2 推送
git push  <远端代号> <本地分支名称>
<远端代号> 是指远程链接的代号
<分支名称>  是指要提交的分支名字,比如master
e.g.
git push origin master

2 同步到本地

##1. 将github的库克隆到本地
git clone <远端地址> <新项目目录名>
<远端地址> 是指远程链接的地址。
<项目目录名>  是指为克隆的项目在本地新建的目录名称,可以不填,默认是GitHub的项目名。
命令执行完后,会自动为这个远端地址建一个名为origin的代号
e.g.
git clone https://github.com/lala/dw.git dw2

##2. 修改数据,然后重新将修改的数据和github上的数据进行同步
git push https://github.com/lala/dw.git

tip:
remote: Permission to lala/dw.git denied to lala86.
fatal: unable to access 'https://github.com/lala/dw.git/': The requested URL returned error: 403

出现以上异常说明已经连接到了github,但是这个项目当前用户没有权限修改

##3. 具体是因为lala86没有开发dw项目权限,我们需要lala用户向lala86发送邀请,然后lala86用户接受邀请才可以协同开发。具体操作请参阅资料

3 写作冲突

如果a用户和b用户同时修改了github中同一个文件,a首先提交了更新到github,那么b在提交的时候就必须要先同步,然后b在同步的时候就会报告产生了冲突,git diff来查询冲突的问题,排除方式和分支冲突一样。具体参考资料
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值