git使用笔记

发布于 — 2019 年 05 月 29 日
#git

安装

mac

通过brew安装

1
brew install git

通过安装包安装

去官网下载mac系统的安装包,下载完成后安装即可

windows

去官网下载Windows系统的安装包,除了选择安装目录时修改为自己想要的目录,其他一直点击next即可

配置

安装完git后我们需要配置个人信息,姓名和邮箱,这些信息在以后提交时都会显示在提交信息中

1
2
3
4
5
6
# 全局配置 整体有效
git config --global user.name "提交时显示的名字"
git config --global user.email "提交时显示的邮箱"
# 局部配置 对单个项目有效,如果进行了局部配置,会覆盖全局配置
git config --local user.name "提交时显示的名字"
git config --local user.email "提交时显示的邮箱"

配置完成后我们可以通过命令来查看我们的配置信息,例如下面这就会显示我们配置的名称

1
git config user.name

常用命令

初始化

1
git init

添加文件

1
git add test.md

提交注释

1
git commit -m '注释内容'

关联远程仓库

1
git remote add [shortname] [url]	

查看当前的远程库

1
2
3
4
5
6
7
git remote
origin
# 也可添加 -v 选项 显示对应的克隆地址
git remote -v

origin  git://github.com/schacon/ticgit.git (fetch)
origin  git://github.com/schacon/ticgit.git (push)

推送到远程仓库

1
2
# remote-name默认为origin ,branch-name默认为master
git push [remote-name] [branch-name]

从远程仓库拉取代码

git pull

修改注释

这个主要分为以下几种情况

  • 修改未推送到远程分支的上一次注释
  • 修改已经推送到远程分支上的上一次注释
  • 修改历史提交过的注释
  • 修改已经推送到远程分支上的历史注释
  1. 先来看修改最近一次提交的注释

使用git commit --amend命令

然后再出来的编辑页面,编辑注释信息,然后保存

  1. 修改历史提交的注释

首先使用git rebase -i HEAD~5,这里的5表示向前推5次。

然后在出来的页面中选择要修改从那一次,将前面的pick修改为edit。然后保存退出。

这是再次执行git commit --amend就会修改我们刚刚选择的那个注释了,修改完成后保存。

这时查看我们刚刚修改的那个变成了日志的最后一次提交了,所以我们要将其修改回原来的时间状态。

使用git rebase --continue命令即可

  1. 这时如果之前的提交注释都没有推送到远程上就完成了,但是如果推送到远程上,还需要将我们的注释修改推送到远程。

使用git push --force强制推送,这时要注意我们这时候推送上去的会覆盖原来的代码,所以最好在提交之前做一次拉取更新。

删除关联远程仓库

shellgit remote rm [orgin_name]

添加远程仓库地址

git remote add upstream xxx

修改远程仓库地址

git remote set-url origin xxx

查看远程分支

git branch -a

删除远程分支

git push origin --delete <branchName>

取消与远程分支的关联

git branch --unset-upstream

推送到远程的新分支

git push origin upstream-master-local:upstream-master-upstream

将本地的upstream-master-local分支推送到originupstream-master-upstream分支

缓存区操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 将当前改变存储到缓存区内
git stash save ‘msg’
# 查看缓存区列表
git stash list
# 从列表中恢复第一个
git stash pop
# 从列表中恢复某一个 stash@{0}
git stash apply stash@{0}
# 删除某个缓存信息
git stash drop stash@{0}
# 清空缓存区
git stash clear

参考

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8