git使用小结

git常用终端操作

# 将一个文件夹添加到git管理下
$ git init

# 查看所有配置项
$ git config -l

# 查看当前代码库状态
$ git status

# 将文件添加到代码库,添加单个文件
$ git add main.c

# 将文件添加到代码库,添加所有文件
$ git add .

# 将修改提交到代码库(在此一定要使用 -m 参数指定修改的备注信息,否则会进入 vim 编辑器,如果对vim不熟悉,会是很糟糕的事情)
$ git commit -m "添加了main.m"

# 查看所有版本库日志(在git中,版本号是一个由SHA1生成的哈希值)
$ git log

# 查看分支引用记录
$ git reflog

# 查看文件变化
$ git diff

# 撤销对文件做的修改(注意HEAD后面没有^号,表示回到当前版本,放弃所有没有提交的修改)
$ git checkout Person.h
或
$ git reset --hard HEAD

# 回到指定的版本号
$ git reset e695b67

# 回到上一个版本(注意HEAD后面的^号,如果两个^^表示回到上上个版本)
$ git reset --hard HEAD^

分支管理

# 查看当前标签
$ git tag

# 新建一个分支
$ git branch bugfix1.0

# 在本地代码库给项目打上一个标签(-a表示add -m表示message)
$ git tag -a v1.0 -m 'Version 1.0'

# 通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作,将标签添推送到远程代码库中
$ git push origin v1.0

# 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本(签出v1.0标签)
$ git checkout v1.0

# 切换分支
$ git checkout bugfix1.0

# 从签出状态创建v1.0bugfix分支
$ git checkout -b bugfix1.0

# 查看当前分支
$ git branch

# 查看所有分支
$ git branch --all

# 删除分支
$ git branch -d bugfix1.0

git合并冲突解决

如:想把分支0.1.0合并到master中,则需要先切换当前分支到master,再执行

git merge 0.1.0

顺利的话合并完成。

如有冲突:

<<<<<<<标记冲突开始,后面跟的是当前分支中(如果是合并到master中,就是master里面的内容)的内容。
HEAD指向当前分支末梢的提交。
=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。
>>>>>>>之后的dev是该分支的名字。

git使用细节

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
如果一定要设置忽略,终端中输入一下命令:

git update-index --assume-unchanged path

git的几个核心概念

工作区(Working Directory):仓库文件夹里除 .git 目录外的所有内容

版本库(Repository):.git目录,用于存储记录版本信息
1.暂缓区(stage):项目中所做的操作都先放在暂缓区,在commit提交到分支。
2.分支(master):git自动创建的第一个分支

Untracked files:新建文件,仅仅是停留在工作区,没有放在暂缓区和分支
not staged:修改了某个已经存在分支的文件,并没有把修改存到暂缓区和分支

如果是多人团队开发,最好还是搭建一个远程仓库
git服务器是运行在Linux下面的。
也可以在github上面托管项目:公开项目免费、私有项目收费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值