常用的git命令:
# clone 分支
git clone url
# status 查看状态
git status
# add 添加
git add .
git add -u #将修改的文件加入到缓存区间,不包括新增和删除的。
git add -A #将新增和删除文件也添加到缓存区
git add -p #对一个文件内的修改可以选择性的添加到缓存区间。
# 删除文件
git rm [file1] [file2] ...
# 停止追踪指定文件,但该文件会保留在工作区
git rm --cached [file]
# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a
# 创建分支
git branch branchName
# 新建一个分支,并切换到该分支
git checkout -b branchName
# 新建一个分支,与指定的远程分支建立追踪关系
git branch --track [branch] [remote-branch]
eg:git checkout -b content-hub-1.2.1 创建本地分支并切换到content-hub-1.2.1
推送到远程分支:git push origin content-hub-1.2.1
# 建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch]
eg:git branch --set-upstream-to=origin/content-hub-1.2.1
当前分支为content-hub-1.2.1,远程分支为origin/content-hub-1.2.1
# 合并指定分支到当前分支
git merge [branch]
# 删除本地分支
git branch -D [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
# 下载远程仓库的所有变动
git fetch [remote]
# 显示所有远程仓库
git remote -v
# 取回远程仓库的变化,并与本地分支合并
git pull [remote] [branch]
# 上传本地指定分支到远程仓库
git push [remote] [branch]
eg:git push origin dev //把当前本地分支推送到到远程 并在远程创建dev分支
# 强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
# 查看标签
git tag
# 创建本地tag
git tag tagName
#推送到远程仓库
git push origin <tagName>
#多个tag推送
git push origin --tags
#查看远程所有 tag:
git ls-remote --tags origin
# 本地 tag 的删除:
git tag -d <tagName>
# 远程 tag 的删除:
git push origin :<tagName>
# 重命名标签
这个本质上是删除掉旧名字 tag ,然后再新建新名字 tag ,然后实现重命名的作用。
如果 tag 只存在本地,那么只需要删除本地的旧名字 tag ,然后新建新名字 tag:
git tag -d <oldTagName>
git tag <newTagName>
git push origin <newTagName> //推送到远程仓库
若已经推送到远程了,那么不仅要删除本地的,还要删除远程的,再重新创建和推送:
git tag -d <oldTagName>
git push origin :<oldTagName>
git tag <newTagName>
git push origin <newTagName> //推送到远程仓库
# 检出标签
git checkout -b <branchName> <tagName>
#对比文件内容
git diff
#对比缓存中的内容
git diff --cached
2.当你对你当前提交的注释不满意时:git commit --amend
git commit --amend -m "你的新的注释"
git commit --amend -m "测试将已经提交的文件从提交记录中删除"
[content-hub-1.1.0 a3913cb] 测试将已经提交的文件从提交记录中删除
Date: Tue Jan 5 15:01:45 2021 +0800
1 file changed, 1 insertion(+)
create mode 100644 工作日志/elasticsearch/compare/txt/3
3.当你提交了一个你本不想提交的文件时 :git rm --cached
git rm --cached 文件名称路径
$ git rm --cached 工作日志/elasticsearch/compare/txt/3
rm '工作日志/elasticsearch/compare/txt/3'
4.当你想切换分支,但是又不想提交在本分支的改动时:git stash
git stash
git checkout new-branch
#当你想回到之前分支,并且还原当前分支的状态
git checkout branch
git stash pop