GIT日常使用

1.git初始化配置

1.1用户信息

$git config --global user.name "beolus"
$git config --global user.email "xxx@163.com"

1.2查看配置信息

$git config user.name
beolus
$git config --list

1.3git提交信息模板配置

# 先创建模板文件,自定义设置内容格式
$vi $HOME/.gitmessage.txt
$git config --global commit.template $HOME/.gitmessage.txt
# 当提交时,直接"git commit"即可
$git commit

1.4查看帮助

# 两种方式:以git config命令为例
$git help config
$git config --help

2.在服务器配置git

2.1本地协议

# 克隆本地仓库
$ git clone c:/local/proj.git

2.2ssh协议

# 如果想要有写入操作权限,一般使用ssh协议。不指明默认是ssh协议
$git clone ssh://user@server:project.gt

2.3其他协议

git协议与http(s)协议:略

2.4生成ssh公钥

$ssh-keygen
$cat ~/.ssh/id_rsa.pub

2.5git托管服务

以github为例,在其上面托管testproj项目

  1. 在github建立一个个人用户
  2. 建立新仓库testproj
  3. 把本地项目推送到远程仓库testproj,如下操作:
$ cd ~/testproj
$git init
$git add .
$ git commit -m 'first commit'
$git remote add origin remote_url
$git push origin master

3.git常用操作

文件状态周期,如下图1

Alt

3.1忽略某些文件:.gitignore

.gitignore文件规范
在这里插入图片描述
示例:
在这里插入图片描述

3.2常用操作

# 查看状态
$git status
# 功能有三:1.追踪新文件;2.把已追踪的文件添加到暂存区;3.合并时把有冲突的文件标为已解决状态
$git add file
# 比较的是当前改动和上次提交、或当前改动和暂存区快照之间的差异
$git diff [file]
# 比较的是暂存区与上一次提交快照的差异
$git diff --cached
# 提交更新
$git commit -m 'xx'

git diff示例:
在这里插入图片描述

3.3移除文件

移除已追踪的文件:

在这里插入图片描述

从git仓库移除,保留在工作目录

在这里插入图片描述

3.4查看提交历史

# -p:表示展开每次提交的内容差异,-2:表示查看最近两次的提交
$git log -p -2
# --stat:仅显示简要的增改行数统计
$git log --stat
# --pretty=oneline:每个提交按一行显示
$git log --pretty=oneline
# --since='xx': 显示最近多久的提交记录
$git log --since=15.minutes

3.5撤销操作

  1. git commit --amend, 作用:修改最后一次提交信息,且如果暂存区有更新文件,会这次的更新也合到本次提交。
    在这里插入图片描述

  2. git reset HEAD file, 取消已经暂存的文件的更改

  3. git checkout – file, 取消本地目录的文件的更改(未加入到暂存区)

3.6远程仓库的使用

# 查看远程仓库
$git remote -v
# 添加远程仓库
$git remote add [remote_name] [remote_url]
# 从远程仓库抓取数据:
$git fetch [remote_name]
# 推送数据到远程仓库
$git push [remote_name] [branch_name]
# 查看远程仓库信息:
$git remote show remote_name
# 远程仓库的重命名和删除
$git remote rename old_name new_name
$git remote rm remote_name

3.7打标签

# 列出已有标签
$git tag
# 列出指定标签
$git tag -l ‘v1.1.*’
# 新建标签
$git tag -a v1.1 [-m ‘first tag’]
# 查看标签
$git show v1.1
# 分享标签
$git push origin v1.1
# 同步所有标签
$git push origin --tags

4.git分支

# 创建新分支:
$git branch xx      只是创建分支
$git checkout -b xx  创建分支,并切换到xx分支
$git checkout -b dev origin/master  基于远程某个分支创建分支
# 合并分支:
$git merge xx
# 删除分支:
$git branch -d xx
$git branch -D xx   强制删除(即使分支并未被合并)
$git push origin :dev  删除远程分支   
# 查看分支:
$git branch 
$git branch -v   查看各个分支及最后一次commit信息
$git branch --merge     查看合到当前分支的分支有哪些
$git branch --no-merged 查看未合到当前分支的分支有哪些
# 推送:
$git push (远程仓库名) (分支名)
$git push origin dev:dev
# 衍合:
$git checkout dev
$git rebase master    把master变化衍合到dev
$git checkout master
$git merge dev       fast forward,快进切到最新的提交
$git branch -d dev

5.多人合作开发

  1. fork一份公共仓库(public/test)的项目到个人仓库(myself/test)
  2. 在本地把个人仓库项目克隆下来,并添加远程仓库
# 1.克隆个人仓库项目
$git clone myfork ssh:xxx/myself/test
# 2.添加远程仓库
$git remote add origin ssh:xxx/public/test
# 3.获取远程仓库的更新
$git fetch origin
# 4.把更新同步到本地
$git rebase origin/master
# 5.推送更改到个人仓库
$git push [-f] myfork master
# 6.在代码托管平台发起合并请求,让管理员合并到公共仓库

  1. 图片来源于《Pro Git》 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值