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 clone、git push、git add 、git commit、git checkout、git 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 <file> |
以列表形式查看指定文件的历史修改记录 |
远程操作
命令 | 说明 |
---|---|
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):辅助工具变动