单独提交某个目录的文件
进入你要操作的目录,跟Linux环境一样
git status ./ 查看这个文件夹下的文件状态,会列出有哪些没有加入追踪,哪些没有commit
git add ./* 把这个文件下的所有应该加入追踪的,加入到暂存区
git commit -m "日志描述" ./ 把这个文件夹下可以commit的,都commit到本地库
git push push到远程库
忽略某个文件或目录不提交
在目录内创建.gitignore 添加文件或目录信息 如下:
vim .gitignore
#ignore .metadata
.metadata
.gitignore
#ignore obj and lib file
*.[oa]
设置用户信息
## 全局配置
git config --global user.name "username" . //全局配置 用户名
git config --global user.email "xxx@gmail.com" . //全局配置 填写自己的邮箱
## 单一配置
git config user.name "username"
git config user.email "xxx@gmail.com"
Git命令
git init 创建仓库
git clone 克隆一个远程仓库
git config 配置仓库
git add 添加修改到暂存区
git commit 提交修改到版本库
git log 查看提交历史
git status 查看文件状态
git diff 修改差异比较
git show 查看某个提交信息
文件管理
git add . 添加工作区所有文件
git commit -a 一次性提交
git commit --amend 修改最后一次提交
git rm file 从工作目录和暂存区中删除文件
git rm --cached 从暂存区中删除,工作区保留
git reset SHA 回退版本到工作目录
git reset --soft 回退版本到暂存区
git reset --hard 回退版本,修改丢弃
git mv 文件重命名
git checkout file 撤销工作区修改
git reset HEAD file 撤销暂存区修改
git diff --cached 比较暂存区和版本库差异
git diff SHA1 SHA2 比较两个版本差异
git gc 压缩仓库
历史纪录log
git log --pretty=oneline 单行显示
git log -p 显示每次提交具体的修改
gitk 图形化显示提交历史
git blame 查看指定文件的提交历史
git grep 提交查找
git revert 反转提交
git reflog 查看操作记录
分支管理
git branch 创建分支,查看分支
git checkout -b 创建分支
git checkout 分支检出、切换分支
git push --set-upstream origin old ##创建好分支了,还要把创建的分支提交一遍
git branch -d 删除分支
git branch -m 分支重命名
git merge 分支合并
git cherry-pick 挑拣分支
git rebase 分支衍合
git stash 分支修改储藏
git stash apply(pop) 恢复分支修改储藏
git fsck 查看悬空commit对象
## 分支重命名
1、本地分支重命名
git branch -m oldName newName
2、将重命名后的分支推送到远程
git push origin newName
3、删除远程的旧分支
git push --delete origin oldName
显示如下,说明删除成功
To http://11.11.11.11/demo/demo.git
- [deleted] oleName
标签管理
git tag v1.0 添加标签
git tag 查看标签
git tag -d 删除标签
git push origin v1.0 推送某个标签
git push origin --tags 推送所有标签
git push origin refs/tags/v1.0 删除远程标签
远程仓库
git remote add 添加远程仓库git
git fetch 拉取远程更新到本地仓库
git pull 拉取远程更新并合并到本地仓库
git push 推送本地修改到远程仓库
git remote -v 查看远程仓库信息
git remote rm 删除远程仓库
git remote rename 远程仓库重命名
git branch b1 origin/b1 跟踪远程分支
git push origin :b1 删除远程分支