git常用命令
2017-07-10 本文已影响0人
潘祖龙
git 数据管理命令
- git config --global user.name "name" #配置git使用用户
- git config --global user.email "mail" #配置git使用邮箱
- git config --global color.ui true #配置颜色
- git config --list #查看当前配置
- git init #初始为git工作目录
- git status #查看git状态
- git reflog #查看未来历史更新点
- git reset --hard 4bf5b29 #找到历史还原点的SHA-1值,就可以还原(值不写全,系统会自动匹配)
- git checkout -- file #恢复暂存区至上一版本
- git add [file1] [file2] ... #添加指定文件至暂存区
- git add [dir] #添加指定目录至暂存区,包括子目录(递归添加)
- git add . #添加当前目录所有文件至暂存区
- git rm [file1] [file2] ... #删除工作区文件,并将这次删除放入暂存区
- git rm –cached [file] #停止追踪指定文件,但该文件会保留在工作区
- git mv [file-old] [file-new] #重命名文件,修改后放入暂存区
git 远程仓库管理
- git remote add [remote] [url]#添加(关联)远程库
- git remote set-url [remote] [url] #修改远程仓库
- git clone [url] #克隆远程仓库项目
- git remote #查看指定远程仓库命名简写
- git remote –v #查看远程仓库详细信息以及名称对应URL
- git push -u remote master #第一次推送master分支的所有内容
- git fetch remote [branch/tag] #下载远程仓库的所有变动
- git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
- git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突
- git push remote [branch/tag] --all #推送所有分支到远程仓库
- git remote rename [oldname] [newname] #修改远程仓库名称
- git remote remove [name] #删除远程仓库名称以及URL地址
git 分支管理
- git branch //列出所有本地分支
- git branch –r //列出所有远程分支
- git branch –a //列出所有本地分支和远程分支
- git branch [branch-name] //创建新分支
- git checkout –b [branch-name] //创建新分支,并且切换到该分支
- git branch --track [branch] [remote-branch] //创建新分支,与指定的远程分支建立追踪关系
- git checkout [branch-name] //切换至指定分支
- git branch –set-upstream [branch] [remote-branch] //本地分支与远程分支建立追踪关系
- git merge [branch] //合并指定分支到当前分支
- git cherry-pick [commit] //选择一个commit,合并至当前分支
- git branch –d [branch-name] //删除本地分支
- git push origin --delete [branch-name] //删除远程分支
- git branch –dr [remote/branch] //删除远程分支
标签管理
- git tag –a <tagname> -m "message" //在当前commit状态新建一个tag
- git tag -l <tagname> //列出相对应版本号tag
- git push origin <tagname> //推送一个本地标签
- git push origin --tags //推送全部未推送过的本地标签
- git tag -d <tagname> //删除一个本地标签
- git push origin --delete tag <tagname> //删除一个远程标签
- git push origin :refs/tags/<tagname> //删除一个远程标签