git使用笔记整理
1.背景
对git的使用笔记零散,做一个整合
2.git大全
2.1 git配置
配置生效级别
## 对系统中所有用户有效
git config --system -e
## 对当前用户有效
git config --global -e
## 对当前项目有效
git config -e
用户信息,还可以设置文本编辑器、差异分析工具等
$ git config --global user.name "jacob"
$ git config --global user.email jacobap@163.com
查看配置信息
$ git config --list
http.postbuffer=2M
user.name=jacob
user.email=jacobap@163.com
# 或者直接查看某个变量的值
$ git config user.name
jacob
2.2git创建仓库
#使用当前目录作为 Git 仓库,我们只需使它初始化
git init
#当前目录若干文件纳入版本控制
git add xxx.file
git commit -m "初始化"
#克隆
git clone <repo> <dir>
2.3 git基本操作


2.4 git分支管理
#创建分支
git branch (branchname)
#切换分支
git checkout (branchname)
#合并分支
git merge
#列出所有分支
git branch
#创建并切换到新分支
$ git checkout -b newtest
Switched to a new branch 'newtest'
#删除分支
git branch -d xxx
#合并目标分支到当前分支。将test分支合并到当前分支
git merge test
#合并冲突
#在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决
$ git status -s
UU runoob.php
$ git add runoob.php
$ git status -s
M runoob.php
$ git commit
[master 88afe0e] Merge branch 'change_site'
git status -s 以精简的方式显示文件状态。
git status 输出的命令很详细,但有些繁琐。
如果用 git status -s 或 git status --short 命令,会得到更为紧凑的格式输出。
新添加的未跟踪文件前面有 ?? 标记,
新添加到暂存区中的文件前面有 A 标记,
修改过的文件前面有 M标记。
M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没放入暂存区,出现在靠左边的 M 表示该文件被修改了并放入了暂存区。
输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言。
2.5 git查看提交历史
#查看历史提交
git log
#查看历史记录的简洁的版本
git log --oneline
#查看历史中什么时候出现了分支、合并
git log --graph
#来逆向显示所有日志
git log --reverse
#找 Git 源码中 xxx 提交的部分
git log --author
#指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。例如,如果我要看 Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交):
$ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
#查看指定文件的修改记录
git blame <file>
2.6 git标签
2.7 git github
2.7.1本地添加远程仓库
#在本地要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
git remote add [shortname] [url]
## 示例:
$ git init # 初始化
$ git add README.md # 添加文件
$ git commit -m "添加 README.md 文件" # 提交并备注信息
# 提交到 Github
$ git remote add origin git@github.com:xxx/git-test.git
$ git push -u origin master
2.7.2查看当前的远程仓库
git remote
# -v 参数,你还可以看到每个别名的实际链接地址
git remote -v
2.7.3拉取远程仓库
# Git 有两个命令用来提取远程仓库的更新。
# 1、从远程仓库下载新分支与数据:该命令执行完后需要执行 git merge 远程分支到你所在的分支。
git fetch origin
# 2、从远端仓库提取数据并尝试合并到当前分支:该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。
git merge origin/master

2.7.4 推送到远程仓库
# 推送你的新分支与数据到某个远端仓库命令:
git push [alias] [branch]
# 以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,实例如下。
$ touch runoob-test.txt # 添加文件
$ git add runoob-test.txt
$ git commit -m "添加到远程"
master 69e702d] 添加到远程
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 runoob-test.txt
$ git push origin master # 推送到 Github
2.7.5 删除远程仓库
# 删除远程仓库你可以使用命令:
git remote rm [别名]
3.IDEA中使用git
4.引用
git源码分析
菜鸟网
git status -s 命令解析
git satus详解
如何使用.gitignore忽略Git中的文件和目录
git clone 项目所有分支方法
fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054


浙公网安备 33010602011771号