Git基础快速入门手册

前言

  Git是常用的版本管理器。网上也有很多基于Git的可视化操作软件,比如Github,SourceTree,TortoiseGit等。但直接使用Git语句,能获取更大的灵活性和更多的功能,也不用去熟悉不同的可视化软件的界面和操作流程。我在使用Git的基础工作流程如下:

  1. 下载Git,安装Git;
  2. 配置Git和Git bash界面;
  3. 依据需要,生成SSH密匙;
  4. 创建库;
  5. 查看文件差异;
  6. 配置.gitignore文件,不追踪特定类型或者文件夹下的文件;
  7. 添加文件到暂存区;
  8. 提交更改;
  9. 为重要的提交添加标签;
  10. 可以添加多个分支;
  11. 添加远程库;
  12. 获取远程库数据和信息;
  13. 推送本地分支到远程库;

  下文为工作流程各个步骤列举了常用的操作、Git语句和例子。以表格的形式展现,方便查询。在日常的工作中,这些Git语句基本够用了。我在书写本文时,主要参考了Git的帮助文档,如果本文与帮助文档有出入,请以Git的帮助文档为准。

配置git

操作 语句 例子
查看git配置 git config --list
查看git单个配置 git config <name> git config user.name
设置git配置的值 git config <name> <value [value_regex]> git config user.name doggie
不配置某个git值 git config --unset <name> [value_regex] git config --unset user.name
配置 git bash窗口的显示效果 在git bash 窗口内点击鼠标右键,选择option选项,根据个人习惯配置窗口显示效果

  如果没有特殊要求,这里只需要配置用户名和用户邮箱。配置文件有不同的起作用范围,比如–global,–system,–local等,默认是–local。在修改配置的时候需要特别留意。在git bash 界面,基本调整字体大小、字体、语言和字符集等。

生成SSH密匙

操作 语句 例子
1.查看.ssh文件夹内的文件信息,检查是否有已经生成的密匙 ls -a <path> ls -a ~/.ssh 检查默认路径下的.ssh文件夹
2.输入生成ssh密匙的指令 ssh-keygen
3.输入存放密匙的路径 可以选择默认的路径,也可以输入新的路径
4.然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可
5.根据公匙的存放路径,查看公匙信息 cat <path> cat ~/.ssh/id_rsa.pub 显示默认路径下的公匙

  如果远程仓需要SSH验证,就需要生成SSH密匙。如果远程仓不需要,就忽略此项操作。

创建库

操作 语句 例子
创建一个空仓库 git init
克隆一个远程仓 git clone <repository> [<directory>] git clone D:/Example.git MyExample
创建一个裸仓库 git init --bare
从现有仓库创建一个裸库 git clone --bare <repository> [<directory>] git clone --bare D:/Example.git

  裸仓放在服务器上,没有工作区。用户不能在裸仓操作具体的文件,但可以克隆和推送更新。

查看文件差异

操作 语句 例子
查看尚未暂存的文件 git diff
查看下一次提交与最近一次提交的改变,也就是暂存文件与最近一次提交文件之间的差异 git diff --cached
查看2个不同分支之间的差异 git diff <branchName> <branchName> git diff master dev
查看当前分支的状态 git status

设置.gitignore文件

操作 语句 例子
创建.gitignore文件 touch .gitignore
编辑.gitignore文件 vim .gitignore Vim 编辑器的使用方法
查看.gitignore文件内容 cat .gitignore

  一个Unity开源项目的.gitignore文件。

操作文件

操作 语句 例子
增加单个文件或者增加文件夹 git add [<pathspec>…] git add Example.txt
添加所有修改到暂存区 git add .
从索引中删除某个文件,但保留工作树内的文件 git rm --cached <file> git rm --cached Example.txt
从索引中删除某个文件,工作树内的文件也不保留 git rm <file> git rm Example.txt
删除整个文件夹 git rm -r <path> git rm -r Assets/Scripts/Demo

提交

操作 语句 例子
提交暂存区内的文件 git commit
自动暂存已经修改或者删除的文件,然后提交更新,不包含尚未暂存的新文件 git commit --all

附注标签

操作 语句 例子
显示现有标签名称 git tag --list
查看指定标签 git show <TagName> git show V1.0
创建附注标签 git tag -a <TagName> git tag -a V1.0
推送标签 git push <respository> <TagName> git push origin V1.0
推送本地存在而远程没有的标签 git push --tags
删除本地标签 git tag -d <TagName> git tag -d V1.0
删除远程标签 git push <respository> :refs/tags/<TagName> git push origin :refs/tags/V1.0
从标签处创建分支 git branch <NewBranchName> [<StartPoint>] git branch myV1.0 V1.0

分支

操作 语句 例子
显示分支信息 git branch --list
从某个分支、节点或者标签创建分支 git branch <newbranchName> [<StartPoint>] git branch dev origin/dev 创建本地dev分支,跟踪远程分支dev
重命名分支 git branch -m <NewBranchName> <OldBranchName> git branch -m test myV1.0
删除分支 git branch -d <BranchName> git branch -d dev
删除远程分支 git branch -d -r <BranchName> git branch -d -r origin/dev
删除远程分支 git push <respository> :<branchName> git push origin :dev
切换分支 git checkout <BranchName> git checkout master
合并其他分支到当前分支 git merge <BranchName> git merge dev

远程

操作 语句 例子
显示远程仓信息 git remote -v
添加远程仓 git remote add <name> <url> git remote origin test D:/Example.git
重命名远程仓 git remote rename <old> <new> git remote rename origin example
删除远程仓 git remote remove <name> git remote remove example

下载对象和引用

操作 语句 例子
抓取远程库所有分支 git fetch [<repository>] get fetch
抓取远程库特定分支 get fecth <respository> <refspec>… get fecth origin master
抓取远程仓的<src>分支,更新本地仓的<dst>分支 get fecth <respository> <src>:<dst> git fetch origin master:mymaster 抓取远程master分支,更新本地仓的mymaster分支

推送

操作 语句 例子
推送更新 git push [<respository>] [<refspec>…]
将当前分支推送到远程仓的同名分支 git push <respository> HEAD git push origin HEAD
将本地仓的分支推送到远程的同名分支 git push <respository> <branchName> git push origin master
将本地仓的<src>推送到远程的<dst>分支 git push <respository> <src>:<dst> git push origin dev:master

其他

操作 语句 例子
查看git操作记录 history
查看帮助文档 git help <Command|Guide> git help push

猜你喜欢

转载自blog.csdn.net/weixin_38558469/article/details/90107385