Git常用命令
-
git远程仓库
$ git remote #列出远程仓库的名字 -v 显示仓库地址 $ git remote add origin <URL> #添加地址URL的仓库命名为origin $ git branch -r #查看远程分支 $ git remote show origin # 查看远程库的一些信息 $ git remote prune origin #删除远程失效的分支
-
git提交
$ git add a.txt # 添加a.txt $ git add . # 添加所有文件 $ git commit -m "提交记录" # 提交记录 $ git push origin master # 推送 $ git commit -am "" # git add 和git commit可以合并成以下一条命令
–amend 参数
commit之后,如果需要对commit修改,可以用 git commit -amend 进行修改,并且上一个commit会撤销。
-
git分支操作
-
创建dev分支
$ git branch dev #创建dev分支 $ git checkout dev #切换到dev分支 #可以合并成以下一条命令 $ git checkout -b dev #创建并切换到dev分支 $ git checkout -b dev_new origin/dev_new #从远程分支拉取dev_new到本地dev_new分支
-
查看分支
$ git branch #查看本地分支 $ git branch -a #查看本地和远程分支 $ git remote show origin # 对比origin分支与本地信息 $ git remote prune origin # 删除远程不存在的本地分支
-
更新远程分支信息
$ git push origin dev # 推送本地dev分支到远程origin仓库 $ git fetch -p #更新远程仓库信息,删除已被删除的远程分支
-
删除分支
# 删除本地分支 $ git branch -d dev #删除dev分支 $ git branch -D dev #强制删除 # 远删除程分支 $ git push origin --delete <branchName> # 方式一 $ git push origin :<branchName> # 方式二:推送空分支到远程分支
-
合并dev分支到master分支
$ git checkout master #切换到master分支 $ git merge --no-ff -m "merge test" dev #合并dev分支 # --no-ff 表示禁用Fast forward Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
-
cherry-pick 将指定的commit应用到当前分支
cherry-pick还有很多参数, 可以查看一下git文档$ git cherry-pick commitId # 将 commitId 应用到当前分支 $ git cherry-pick id1 id2 # 将 id1, id2 应用到当前分支 $ git cherry-pick id1..id3 # 将 id1到id3 的提交都应用到当前分支
-
-
Git 标签
- 列出标签
$ git tag #列出标签(不添加信息) $ git tag -l 'v1.0.*' # 列出v1.0系列的标签
- 新建标签
$ git tag v2.0 #打一个简单的标签 $ git tag -a v2.0.1 -m "详细标签" #打一个带注释的标签
- 删除标签
$ git tag -d 标签名 #删除本地标签 $ git push origin :refs/tags/标签名 #删除远程标签
- 显示标签详情
$ git show v2.0 #相应标签的版本信息
- 推送标签到远程仓库
$ git push origin --tags #推送所有本地标签到远程仓库 $ git push origin v2.0.0 #推送v2.0.0到远程仓库 $ git push origin --delete tag <tagname> #删除远程Tag
- 列出标签
-
git clone 加速
指定深度, –depth=1 表示只克隆最近的一次commit
git clone XXX --depth=1
让git后台下载
git fetch --unshallow
-
误删恢复
git所有记录被删其实不是立即删除的, 可以理解为gc机制, 日志超过一定的数量才会真正删除
git reflog
-
在Git Bash中进入vim编辑器之后退出问题
输入完成之后按Esc退出编辑模式,连续按两次大写Z就会退回到git界面了