Git 教程
下载地址
集中式管理与分布式管理
- 集中式

- 分布式

git项目管理流程
Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。 基本的 Git 工作流程如下: 1. 在工作目录中修改某些文件。 2. 对修改后的文件进行快照,然后保存到暂存区域。 3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。


2. 查看是否安装成功
进入cmd(shell)控制台中
3. 配置名称和邮箱
$ git config --global user.name "your_username" # 配置用户名
$ git config --global user.email "your_email" # 配置邮箱
$ git config --list #查看配置信息
$ git config -f 以管理员身份进行更改配置
--global 用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。可以利用‘$ git help ’查看帮助文档
4. 操作命令
4.1 查看帮助
$ git help # 提供帮助提示
$ git help config # 可网页打开命令的意思
$ git -xx -h # 查看某命令的帮助提示
4.2 远程代码初始化到本地目录 及 初始化本地项目
$ git clone git://github.com/schacon/grit.git # 克隆远程项目到所在目录
$ git clone git://github.com/schacon/grit.git mygrit # 克隆远程项目到所在目录,将项目目录名称更改为mygrit
$ git init # 初始化新仓库
4.4 提交文件(本地-远程提交)
$ git add *.c # 将文件添加到暂存区
$ git status # 查看当前项目暂存文件状态
$ git commit # 提交暂存区的文件
$ git commit -m 'initial project version' # 提交仓库并备注本次提交说明
$ git fetch [remote-name] # 从远程某个库抓取数据
$ get pull #
$ git push origin master # 推送数据到远程仓库
$ git commit --amend # 想要撤消刚才的提交操作,可以使用 --amend 选项重新提交(刚才提交完没有作任何改动,直接运行此命令的话)
$ git checkout -- benchmarks.rb # (谨慎使用)取消对文件的修改动作,还原上次提交文件的状态
4.5 忽略本地文件的跟踪
$ git diff --cached/git diff --staged # 查询尚未赞成的文件更新了那些部分
$ rm grit.gemspec # 移除暂存文件清单列表
$ cat .gitignore # 查看文件内容,以下更新文件内容
$ *.[oa] # 忽略以 `o` 或 `` 结尾的文件
$ *~ # 忽略所有以`~`结尾的文件
$ *.a # 忽略所有 .a 结尾的文件
$ !lib.a # 但 lib.a 除外
$ /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
$ build/ # 忽略 build/ 目录下的所有文件
$ doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
4.6 删除文件
$ git rm --cached readme.txt # 后面可以列出文件或者目录的名字,也可以使用 glob 模式
$ git rm log/\*.log # 注意到星号 * 之前的反斜杠 \,因为 Git 有它自己的文件模式扩展匹配方式,所以我们不用 shell 来帮忙展开(译注:实际上不加反斜杠也可以运行,只不过按照 shell 扩展的话,仅仅删除指定目录下的文件而不会递归匹配
$ git rm \*~ # 会递归删除当前目录及其子目录中所有 ~ 结尾的文件
$ git mv README.txt README # 一般在文件修改名称的操作,此操作相当于移除txt文件,添加readme文件
4.7 远程仓库操作
$ git remote -v # 显示当前克隆地址
$ git remote add pb git://github.com/paulboone/ticgit.git # 添加一个新的远程仓库
$ git remote show origin # 查看远程仓库信息
$ git remote rename pb paul # 修改某个远程仓库在本地的简称,把pb 改成 paul
$ git remote rm paul # 移除对应的远端仓库
4.8 查询日志
$ git log # 查看历史提交记录
$ git log -p -2 # 我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
$ git log --stat # 在做代码审查,或者要快速浏览其他协作者提交的更新都作了哪些改动时,就可以用这个选项
$ git log --pretty=format:"%h - %an, %ar : %s"
$ git log --since=2.weeks # 列出所有最近两周内的提交
4.9 查询标签
$ git tag # 列显已有的标签
$ git tag -l 'v1.4.2.*' # 搜索模式列出符合条件的标签
$ git tag -a v1.4 -m 'my version 1.4' # 含附注的标签
$ git tag -s v1.5 -m 'my signed 1.5 tag' # 签署标签
$ git tag v1.4-lw # 轻量级标签
$ git tag -v v1.4.2.1 # 验证标签
4.10 分支命令
$ git branch # 列出分支清单
$ git branch -v #
$ git branch testing # 创建一个新的分支
$ git branch -d iss53 # 删除分支
$ git checkout testing # 切换到其他分支
$ git merge iss53 # 合并分支
$ git mergetool
5 日志 选项
git log --pretty=format补充 选项 说明 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tree)的完整哈希字串 %t 树对象的简短哈希字串 %P 父对象(parent)的完整哈希字串 %p 父对象的简短哈希字串 %an 作者(author)的名字 %ae 作者的电子邮件地址 %ad 作者修订日期(可以用 -date= 选项定制格式) %ar 作者修订日期,按多久以前的方式显示 %cn 提交者(committer)的名字 %ce 提交者的电子邮件地址 %cd 提交日期 %cr 提交日期,按多久以前的方式显示 %s 提交说明 选项 说明 -p 按补丁格式显示每个更新之间的差异。 --stat 显示每次更新的文件修改统计信息。 --shortstat 只显示 --stat 中最后的行数修改添加移除统计。 --name-only 仅在提交信息后显示已修改的文件清单。 --name-status 显示新增、修改、删除的文件清单。 --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。 --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。 --graph 显示 ASCII 图形表示的分支合并历史。 --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。 选项 说明 -(n) 仅显示最近的 n 条提交 --since, --after 仅显示指定时间之后的提交。 --until, --before 仅显示指定时间之前的提交。 --author 仅显示指定作者相关的提交。 --committer 仅显示指定提交者相关的提交。
vscode 无法找到git地址?
打开用户设置:文件-》首选项-》设置,在搜索栏中搜索"git.path",更新地址为自己安装git的地址
