08-02
0
git命令
git init 初始化
git add . 添加 所有内容 到缓存区
git commit -m ‘first commit’ 提交注释
git remote add origin git@github.com:帐号名/仓库名.git 添加远程git库地址
git pull origin master 拉取主分支内容
git push origin master # -f 强推
git clone git@github.com:git帐号名/仓库名.git 克隆远程git库
拉取 某次提交内容 到 当前分支
git cherry-pick <commitHash>
将 feature 分支的最近一次提交,转移到当前分支
git cherry-pick feature
将 A 和 B 两个提交应用到当前分支
git cherry-pick <HashA> <HashB>
可以转移从 A 到 B 的所有提交 提交 A 必须早于提交 B,否则命令将失败,但不会报错。注意,使用上面的命令,提交 A 将不会包含在 Cherry pick 中
git cherry-pick A..B
如果要包含提交 A,可以使用下面的语法。
git cherry-pick A^..B
git checkout master 切到主分支
git fetch origin 获取最新变更
git checkout -b dev origin/master 基于主分支创建dev分支
git add . 添加到缓存
git commit -m ‘xxx’ 提交到本地仓库
git fetch origin 获取最新变更
git status
git add 文件名 将工作区的某个文件添加到暂存区
git add . 将当前工作区的所有文件都加入暂存区
git add -u 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件
git add -A 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件
git add -i 进入交互界面模式,按需添加文件到缓存区
git commit -m “提交说明” 将暂存区内容提交到本地仓库
git commit -a -m “提交说明” 跳过缓存区操作,直接把工作区内容提交到本地仓库
6、查看历史记录
git log 查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明)
git log -p -次数 查看最近多少次的提交记录
git log --stat 简略显示每次提交的内容更改
git log --name-only 仅显示已修改的文件清单
git log --name-status 显示新增,修改,删除的文件清单
git log --oneline 让提交记录以精简的一行输出
git log --graph --all --online 图形展示分支的合并历史
git log --author=作者 查询作者的提交记录(和grep同时使用要加一个--all--match参数)
git log --grep=过滤信息 列出提交信息中包含过滤信息的提交记录
git log -S查询内容 和--grep类似,S和查询内容间没有空格
git log fileName 查看某文件的修改记录
git reset HEAD^ 恢复成上次提交的版本
git reset HEAD^^ 恢复成上上次提交的版本,就是多个^,以此类推或用~次数
git reflog
git reset --hard 版本号
--soft:只是改变HEAD指针指向,缓存区和工作区不变;
--mixed:修改HEAD指针指向,暂存区内容丢失,工作区不变;
--hard:修改HEAD指针指向,暂存区内容丢失,工作区恢复以前状态;
查看分支:git branch -a
合并分支:
git merge dev #用于合并指定分支到当前分支
git merge --no-ff -m “merge with no-ff” dev #加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git相关配置
git config --global user.name “用户名” # 设置用户名
git config --global user.email “用户邮箱” #设置邮箱
git config --global user.name # 查看用户名是否配置成功
git config --global user.email # 查看邮箱是否配置
git config --global --list # 查看全局设置相关参数列表
git config --local --list # 查看本地设置相关参数列表
git config --system --list # 查看系统配置参数列表
git config --list # 查看所有Git的配置(全局+本地+系统)
git config --global color.ui true //显示git相关颜色
撤消某次提交
git revert HEAD # 撤销最近的一个提交
git revert 版本号 # 撤销某次commit
02-14
0
win10 Git安装
1.链接
下载链接 https://git-scm.com/download 本地安装使用默认选项一直下一步即可
2.配置GIt
Git提供了config命令来帮助设置配置信息,在命令行输入:-global 全局进行配置
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
Git提供了config命令来帮助设置配置信息,在命令行输入:
git config --global --list
命令执行结束后可用命令查看配置是否OK
3.Git 创建仓库
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。也可以给指定空文件夹初始化
git init
git init newrepo
git add . #所有文件
git add -f 文件名 #指定文件夹
git commit -m "注释"
- git init – 初始化仓库。
- git add . – 添加文件到暂存区。
- git commit – 将暂存区内容添加到仓库中。
我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。
克隆仓库的命令格式为:
git clone <repo>
git clone <repo> <directory>
查看/切换/创建分支
git branch -a 本地 远程 分支
git checkout 分支名
git checkout -b 分支名
git reset --hard
参数说明:
- repo:Git 仓库。
- directory:本地目录。
编辑 git 配置文件:
git config -e # 针对当前仓库
git config -e --global # 针对系统上所有仓库
设置提交代码时的用户信息:
git config --global user.name "username"
git config --global user.email demo@username.com
添加远程版本库:
git remote add [shortname] [url]
shortname 为本地的版本库,例如:
git remote add origin git@github.com:tianqixin/runoob-git-test.git
git pull 命令用于从远程获取代码并合并本地的版本。
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master
git remote -v # 查看信息
git push 命令用于从将本地的分支版本上传到远程并合并。
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master
git reset --hard 指定分支回滚
解决每次git pull、git push都需要输入账号和密码
git config --global credential.helper store
git pull
输出:
Username for 'https://git.xxxxxxxx.com': ******
Password for 'https://demo123@163.com': *******
git config [选项]
配置文件位置
--global 使用全局配置文件
--system 使用系统级配置文件
--local 使用版本库级配置文件
-f, --file <文件> 使用指定的配置文件
--blob <blob-id> read config from given blob object
操作
--get 获取值:name [value-regex]
--get-all 获得所有的值:key [value-regex]
--get-regexp 根据正则表达式获得值:name-regex [value-regex]
--replace-all 替换所有匹配的变量:name value [value_regex]
--add 添加一个新的变量:name value
--unset 删除一个变量:name [value-regex]
--unset-all 删除所有匹配项:name [value-regex]
--rename-section 重命名小节:old-name new-name
--remove-section 删除一个小节:name
-l, --list 列出所有
-e, --edit 打开一个编辑器
--get-color <slot> 找到配置的颜色:[默认]
--get-colorbool <slot>
找到颜色设置:[stdout-is-tty]
类型
--bool 值是 "true" 或 "false"
--int 值是十进制数
--bool-or-int 值是 --bool or --int
--path 值是一个路径(文件或目录名)
其它
-z, --null 终止值是NUL字节
--includes 查询时参照 include 指令递归查找