git使用详解、基础命令 Git 使用教程

安装

下载地址 http://git-scm.com/downloads

官方文档 https://git-scm.com/book/zh/v2

命令文档 https://git-scm.com/docs

概念

git使用详解、基础命令
Git 使用教程

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

暂存区

.git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp...),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的。 当你完成某个需求或功能后需要提交到远程仓库,那么第一步就是通过git add先提交到暂存区,被git管理。

本地仓库

保存了对象被提交 过的各个版本,比起工作区和暂存区的内容,它要更旧一些。 git commit后同步index的目录树到本地仓库,方便从下一步通过git push同步本地仓库与远程仓库的同步。

基础命令

初始化

git init [dir] 该命令将创建一个名为 .git 的(隐藏)子目录

例: cd code/; git init 或者 git init code

添加文件到暂存区

git add <filename>/<dir>

例: 添加当前目录下所有文件git add . 添加指定文件git add README.md

提交文件到本地仓库

git commit -m '说明'

例:git commit -m '2019-04-18初始化项目'

添加远程仓库

git remote add <shortname> <url>

例:git remote add origin https://github.com/xxx/xxxx.git

推送到远程仓库

git push -u <shortname>/<url> <分支>

例:git push -u origin master

克隆远程仓库到本地

git clone <url>

例: git clone https://github.com/apache/flink.git

检查当前文件状态

git status

当输出一下内容时:
On branch master
nothing to commit, working directory clean
这说明你现在的工作目录相当干净。所有已跟踪文件在上次提交后都未被更改过
当前目录下没有出现任何处于未跟踪状态的新文件,否则 Git 会在这里列出来
该命令还显示了当前所在分支,并告诉你这个分支同远程服务器上对应的分支没有偏离

查看用户名&邮箱

git config user.name

git config user.email

修改用户名密码

git config --global user.name "Your Name"

执行后,push时重新输一次密码即可

修改和提交   分支与标签  
git status 查看状态 git branch 显示本地所有分支
git diff 查看变更内容 git checkout <branch/tag> 切换到指定分支或标签
git add . 跟踪当前目录改动过的文件 git branch <new-branch> 创建新分支
git add <file> 跟踪指定文件 git branch -d <branch> 删除本地分支
git mv <old> <new> 重命名 git tag 列出本地所有标签
git rm <file> 删除文件 git tag <tag-name> 基于最新提交创建标签
git rm -r --cached . 停止跟踪文件并删除 git tag -d <tag-name> 删除标签
git commit -m "message" 提交更新过的文件 git merge <branch> 合并分支到当前分支
git commit --amend 修改最后一次提交 git rebase <branch> 衍合指定分支到当前分支
查看历史&撤销   远程操作  
git log 查看提交历史 git remote -v 查看原创版本库信息
git log -p <file> 查看指定文件提交历史 git remote show <remote> 查看指定远程版本库
git blame <file> 列出指定文件提交历史 git remote add <remote> <url> 添加远程版本库
git reset -hard HEAD 撤销未提交的修改内容 git fetch <remote> 从远程库获取代码
git checkout HEAD <file> 撤销指定文件未提交的修改内容 git pull <remote> <branch> 下载代码及快速合并
git revert <commit> 撤销指定的提交 git push <remote> <branch> 上传代码及快速合并

取消commit git reset --soft Head

git使用详解、基础命令
Git 使用教程 个人微信,有什么建议、意见或补充,欢迎及时沟通!!!(添加时注明“博客园”,谢谢)