Git常用命令


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

一、 Git 工作区、暂存区和版本库概念:

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。

 二、Git 常用的是以下 6 个命令:git clonegit pushgit add 、git commitgit checkoutgit pull

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

三、命令:

创建仓库命令

下表列出了 git 创建仓库的命令:

命令说明
git init 初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。

提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

命令说明
git add 添加文件到仓库
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。
git rm 删除工作区文件。
git mv 移动或重命名工作区文件。

提交日志

命令说明
git log 查看历史提交记录
git blame 以列表形式查看指定文件的历史修改记录

远程操作

命令说明
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并


四、其他操作或命令:

登录:
git config --global user.email "youremail"
git config --global user.name "yourname"

删除分支:

1、git branch  branchName//获取分支
2、git checkout develop branchName //切换其他分支
3、git branch -D branchName //删除本地分支

4、git push origin –delete branchName//删除远程分支

1.git branch//查看本地所有分支
2.git branch -r//查看远程所有分支
3.git branch -a//查看本地和远程所有分支

使用checkout创建分支:
创建新分支:git branch branchName
切换到新分支:git checkout branchName
也可以合成为一个命令:
git checkout -b branchName

获取分支时:

如果本地分支没有,则会从云端拉取分支。
如果本地分支存在,但落后于云端,则需要执行git pull操作更新。


git 中一些选项解释:
-d  --delete:删除
-D  --delete --force的快捷键
-f  --force:强制
-m  --move:移动或重命名
-M  --move --force的快捷键
-r  --remote:远程
-a  --all:所有

vscode-git中的U,M和D文件标记含义:

M modified
你已经在github中添加过该文件,然后你对这个文件进行了修改,就会文件后标记M
U untracked
你在本地新建了这个文件,还未提交到github上,就会标记U
D delete
你删除了这个文件,vscode-git会记录下这个状态
6,U
表示有6个错误且untracked 未提交

git其他命令:

//解决gitk中文乱码问题:git config --global gui.encoding utf-8

git status //查看远端状态
git fetch //检查获取远端最新代码
git rebase //提交状态下,节点关联到最新分支

git pull//未提交或暂存状态下,获取最新代码

git 提交前缀

feat (feature) :新功能
fix (bug fix):修复bug
docs (documentation) :文档
style (formatting, missing semi colons, …):格式
refactor:重构
test (when adding missing tests):增加测试
chore (maintain):辅助工具变动