赞
踩
https://git-scm.com/book/zh/v2
https://www.runoob.com/git/git-tutorial.html
客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
对待数据方式— 快照流(区别于基于差异(delta-based) 的版本控制)
Git 更像是把数据看作是对小型文件系统的一系列快照。 在 Git 中,每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。 为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流。
Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录
git工作区的文件状态:
git help
start a working area (see also: git help tutorial) clone Clone a repository into a new directory init Create an empty Git repository or reinitialize an existing one work on the current change (see also: git help everyday) add Add file contents to the index mv Move or rename a file, a directory, or a symlink restore Restore working tree files rm Remove files from the working tree and from the index examine the history and state (see also: git help revisions) bisect Use binary search to find the commit that introduced a bug diff Show changes between commits, commit and working tree, etc grep Print lines matching a pattern log Show commit logs show Show various types of objects status Show the working tree status grow, mark and tweak your common history branch List, create, or delete branches commit Record changes to the repository merge Join two or more development histories together rebase Reapply commits on top of another base tip reset Reset current HEAD to the specified state switch Switch branches tag Create, list, delete or verify a tag object signed with GPG collaborate (see also: git help workflows) fetch Download objects and refs from another repository pull Fetch from and integrate with another repository or a local branch push Update remote refs along with associated objects
获取命令具体使用(选项信息)
git [command] -h
获取gitconfig配置文件位置
git config --list --show-origin
git 全局设置
本地设置用户名和邮件地址
右键选择Git Bash
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
查看配置信息
git config --list
获取git 仓库
git init
git clone [远程Git仓库地址]
查看文件状态
git status
跟踪新文件(文件添加到暂存区)
git add user.xml
将文件提交到仓库
git commit -m "备注信息" user.xml
回顾git commit提交历史
git log
-<n> 仅显示最近的 n 条提交。
--since, --after 仅显示指定时间之后的提交。
--until, --before 仅显示指定时间之前的提交。
--author 仅显示作者匹配指定字符串的提交。
--committer 仅显示提交者匹配指定字符串的提交。
--grep 仅显示提交说明中包含指定字符串的提交。
-S 仅显示添加或删除内容匹配指定字符串的提交。
取消暂存的文件
git reset user.xml
撤消对文件的修改
git checkout -- user.xml
切换到指定版本
git reset --hard commit编号(git log 获得)
git remote 查看远程仓库
git remote add 添加远程仓库
git clone 从远程仓库克隆
git pull 从远程仓库拉取
git push 推送到远程仓库
查看远程仓库
git remote
git remote -v (显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL)
添加远程仓库
git remote add pb(简写) https://github.com/paulboone/ticgit
从远程仓库中抓取与拉取
git pull pb(远程仓库别名) 分支名称(master 主分支)
git pull pb(远程仓库别名) 分支名称(master 主分支) --allow-unrelated-histories)
允许无关的历史
推送到远程仓库
git push origin master
查看某个远程仓库
git remote show 别名
远程仓库的重命名与移除
git remote rename pb paul
git remote remove paul
查看分支
git branch
-r 远程仓库的分支
-a 本地仓库的分支
--merged 已经合并当前分支的分支
--no-merged 尚未合并到当前分支
切换创建分支命令:
git checkout -b (branchname)
创建分支命令:
git branch (branchname)
切换分支命令:
git checkout (branchname)
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
合并分支命令:
git merge
删除分支命令:
git branch -d (branchname)
合并分支
git merge (branchname)
git log
--oneline 选项来查看历史记录的简洁的版本
--graph 选项,查看历史中什么时候出现了分支、合并
--reverse 参数来逆向显示所有日志
git blame <file> 查看指定文件的修改记录
查看已有标签
git tag
git tag-a [name] 选项意为"创建一个带注解的标签"
git push [shortName] [标签name] 将标签推送到远程仓库
git checkout -b [branch] [标签name] 创建该标签内容一个分支
git show [标签name]命令可以看到标签信息和与之对应的提交信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。