Git使用

Git使用及代码仓库介绍


Git是一个很强大的代码版本管理工具,在Git的使用过程当中,不断学习积累Git的命令行及其做用,在本篇文章中记录了笔者使用过程的积累,之后还会持续更新。代码仓库分为分为工做区 暂存区 本地仓库 远程仓库 四个区,主要工做流程为暂存,拉取,恢复暂存,合并(若是有冲突),提交,推送

1.初始化Git

git initgit

2.建立忽略文件

touch .gitignore(这里面能够写一些忽略文件,git add/commit/push的时候不会上传忽略文件,能够参照其它项目)运维

3.把远程repository加到本地

git remote add origin 远程地址工具

4.将工做区代码提交到本地暂存区

git add --all
git add .

5.配置用户名邮箱

git config user.name "JerryMouseLi"
git config user.email "j213@137.com"

6.提交暂存区代码到本地代码仓库

git commit -m "提交备注"学习

7.从远程仓库拉取代码到本地仓库

git pull origin master
pull包含了fetch跟merge将本地仓库的变化与远程仓库变化,同名文件合并。这里有冲突须要解决冲突。fetch

8.提交本地仓库代码到远程仓库

git push origin maste命令行

9.硬恢复到指定提交版本

git reset --hard commit_id 日志

9.1 本地仓库强制覆盖远程仓库

`
git push origin master --forcecode

`orm

10.导出提交修改日志

git log --pretty=format:"%ai , %an: %s" --since=“100 day ago” >> ~/Desktop/commit.log

git log --pretty=format:"%ai , %an: %s" >> ~/Desktop/Readme.log

最终采用
git log  --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:"%ad , %an: %s" >> ~/Desktop/Readme.log
选项   说明
%H    提交对象(commit)的完整哈希字串
%h    提交对象的简短哈希字串
%T    树对象(tree)的完整哈希字串
%t    树对象的简短哈希字串
%P    父对象(parent)的完整哈希字串
%p    父对象的简短哈希字串
%an    做者(author)的名字
%ae    做者的电子邮件地址
%ad    做者修订日期(能够用 -date= 选项定制格式)
%ar    做者修订日期,按多久之前的方式显示
%cn    提交者(committer)的名字
%ce    提交者的电子邮件地址
%cd    提交日期
%cr    提交日期,按多久之前的方式显示
%s    提交说明

11.查看本地分支与远程分支

git branch -a 查看全部分支

git branch -r查看远程分支

git branch  查看分支

12.下载远程分支

git clone -b CQDemo https://git.dev.tencent.com/xxx/xxx.git对象

13.找回暂存区里丢失的代码

git fsck --lost-found //找回git add过可是已经不存在文件中的内容

14 修改最近一次commit的注释

git commit --amend
commit提供了一个--amend参数,能够修改最后一次提交的信息.可是若是你已经push过了,那么其历史最后一次,永远也不能修改了。

15.修改做者名称

主要我用来导出git日志的时候用
git commit --amend --author "xw aa.hbl@gmail.com"

// 设置全局
git config --global user.name "Author Name"
git config --global user.email "Author Email"

// 或者设置本地项目库配置
git config user.name "Author Name"
git config user.email "Author Email"

16. git tag的用法

咱们经常在代码封板时,使用git 建立一个tag ,这样一个不可修改的历史代码版本就像被咱们封存起来同样,不管是运维发布拉取,或者之后的代码版本管理,都是十分方便的

16.1.git的tag功能

git 下打标签其实有2种状况

  • 轻量级的:它实际上是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用
  • 带附注的:其实是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签自己也容许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,通常咱们都建议使用含附注型的标签,以便保留相关信息
    因此咱们推荐使用第二种标签形式

16.2.建立tag

git tag -a V1.2 -m 'release 1.2'

上面的命令咱们成功建立了本地一个版本 V1.2 ,而且添加了附注信息 'release 1.2'

16.3.查看tag

git tag

要显示附注信息,咱们须要用 show 指令来查看

git show V1.2

可是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

git push origin --tags

若是刚刚同步上去,你缺发现一个致命bug ,须要从新打版本,如今还为时不晚.

git tag -d V1.2

到这一步咱们只是删除了本地 V1.2的版本,但是线上V1.2的版本仍是存在,如何办?这时咱们能够推送的空的同名版本到线下,达到删除线上版本的目标:

git push origin :refs/tags/V1.2

如何获取远程版本?

git fetch origin tag V1.2

这样咱们能够精准拉取指定的某一个版本.适用于运维同窗部署指定版本.

相关文章
相关标签/搜索