git 的基本使用(未完待补充)

git 的使用

1创建新仓库

mkdir xxx //创建文件夹

git init //会将当前目录初始化为本地仓库(发现会有.git 文件)

2 配置作者信息

git config --global user.email "xxxx"

git config--global user.name "yyyyy"

注意:如果是只需要将作者信息配置在当前仓库,去掉–global 选项

配置信息会记录在:.git/config

3 忽略文件提交(.gitignore)

编辑 .gitignore 文件

*.txt //表示忽略.txt 结尾的文件

!hello.txt //表示不忽略hello.txt

dir/hello // 表示忽略文件夹及其文件夹下所有内容

4 版本库添加与与移除文件(add&rm)

在这里插入图片描述

注意:rm 如果不加上 –cached 选项,会删除本地文件,加上该选项,则只是将其从暂存区删除

5 修改文件名(mv)

git mv oldName newName

git add newName

git commit -m "rename file"

6 查看日志(log)

git log

git log -p // 文件变动信息

git log -p -1 //最近一次提交

git log --oneline //简短信息

git log --oneline -p

git log --name-only // 文件发生变化

git log --name-status // 文件的状态变化

7 修改最近一次提交描述(amend)

每次提交文件,需要 -m 加上提交描述,但是如果描述有误,如何修改呢?

git commit --amend 即可达到修改提交描述的问题

注意:修改的是最新一次提交的commit 注释

8 命令取别名(alias)

正常来说,添加需要使用 git add xxx

使用

git config --global alias.a add //这是讲 add 取别名为 a

注意: 如果不加上 --global 则是对当前仓库生效

打开 .git/config 文件会发现多了一条记录:

[alias]
	a = add

9 git 分支

在这里插入图片描述

  1. master 分支是用于生产环境的,是稳定的

  2. 模块1,模块2分支使用与开发的,当完成开发后,合并到master 分支,然后模块1,模块2分支就没有用处了,需要删除

  3. HEAD 是每个分支的头结点,指向创建该分支时在主分支上的时间节点位置

相关命令

  1. 查看分支

    git branch // 带星号表示当前所在分支

  2. 创建分支

    git branch xxx // 创建分支xxx

  3. 切换分支

git checkout xxx // 切换到 分支xxx

在这里插入图片描述

  1. 测试

现在在ask 分支创建一个文件ask.html,然后提交

再切回master ,查看status

会发现:在Ask 分支内能够看到 ask.html 文件

但是在master 分支内是不能看到ask.html文件的

注意: 先切到master 分支,然后再去创建其他分支

  1. 合并分支

. 先切换master

. git merge 分支1 //会将分支1 合并到master

  1. 查看已合并的分支

    git branch --merged
    
  2. 删除分支(一定是删除已经合并过的分支)

git branch -d 分支1 //删除分支1

10 合并分支

现在本地有分支:branch_a,远程有分支branch_b
现在想将branch_b 合入到branch_a中(注意branch_a 不一定是从branch_b 拉取下来的)
操作:

  1. git fetch origin branch_b:local_temp //拉取branch_b 建立新分支local_temp
  2. git checkout branch_a //切换到branch_a
  3. git merge local_temp //合并分支
  4. 解决冲突
  5. git branch -d local_temp//删除临时分支

11 解决冲突

产生原因:(假设现在有两个分支 ask,bbs)

  1. 两个分支都是在master 的同一个位置创建

  2. 各自改变了同一个文件(ask.html) 分支ask 添加了一条记录,分支bbs 添加了一条记录

  3. 分支ask先合并到master

  4. 分支bbs合并到master 时就会失败

解决:

  1. 此时需要手动编辑冲突文件

<<<<head
xxxx
===== 这部分之间的xxxx就是master 上的代码

====
yyyyyy ‘>>>bbs’ 之间的 代码yyyy就是当次你想提交的与 master 发生冲突的代码

在这里插入图片描述

  1. git add ask.html //修改后的
  2. git commit -m ‘handle conflict success’

11 暂存区(stash)

当前有两个分支;ask,bbs

1.你在ask 中新增了一个文件a,add ,commit

  1. 修改文件a,但是没有add,也没有commit

  2. 此时切换到分支bbs ,会报错

    error: Your local changes to the following files would be overwritten by checkout:
    ASK.TXT
    Please commit your changes or stash them before you switch branches.
    Aborting

如何解决?

使用stash 将未保存的数据保存到暂存区 stash,然后就可以切换分支了

当你切回 ask分支,发现找不到文件a

查看stash 暂存区列表

git stash list

$ git stash list
stash@{0}: WIP on ask: 527f285 add ASK.TXT

恢复暂存区中数据到当前分支

git stash apply

当暂存区不需要时,如何删除暂存区?

git stash -drop stash@{0}

注意:stash 不是暂存单个文件,而是存储一个状态,可能包含多个文件

12 打TAG

当代码到了某个比较稳定的阶段,可以打上一个标签TAG,表明此阶段代码是稳定的。

git tag v1.0

查看标签

git tag

13 生成 zip 代码压缩包

git archive master --prefix='topForethought' --format=zip > demo.zip

上述命令会将master 分支打包成名为demo.zip 的zip 包到当前目录下

prefix 会给所有文件名前面加上前缀,比如打包前是 “hello

打包后是 “topForethoughthello

14 未完待续

3 生成 zip 代码压缩包

git archive master --prefix='topForethought' --format=zip > demo.zip

上述命令会将master 分支打包成名为demo.zip 的zip 包到当前目录下

prefix 会给所有文件名前面加上前缀,比如打包前是 “hello

打包后是 “topForethoughthello

14 未完待续

既然原创审核未通过,我就转载了,我转我自己

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值