Git 基本命令
Git 基本命令
基本使用
生成公钥ssh-keygen
ssh-keygen -t rsa -C "youremailaddress@hotmail.com"
- 打开相关文件夹,一般在 C:\Users\Administrator.ssh\id_rsa.pub,复制
- 打开gitlab, 设置 -> ssh密钥,将上一步的密钥添加至此,选择添加密钥
本地仓库
- 初始化本地仓库:
git init
拉取远端项目 git clone
- 拉取远端项目
git clone remote-address@gitlab.com
- 拉取指定分支项目
git clone -b prod remote-address@gitlab.com
增加删除修改操作
- 新增所有改动
git add .
- 新增单个文件
git add [file]
- 删除工作区文件,并且将该次删除放入暂存区:
git rm
- 停止追踪指定文件,但该文件会保留在工作区:
git rm --cached [file]
- 改名文件,并且将这个改名放入暂存区:
git mv [file-original] [file-renamed]
撤销操作:
- 恢复暂存区的指定文件:
git checkout -- [file]
- 恢复某个commit的指定文件到暂存区和工作区:
git checkout commit [file]
- 恢复暂存区的所有文件到工作区:
git checkout -- .
- 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变:
git reset [file]
- 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变:
git reset [commit]
- 重置暂存区与工作区,与上一次commit保持一致:
git reset --hard
- 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致:
git reset --hard [commit]
- 暂时将未提交的变化移除:
git stash
- 将暂存的未提交的变化移入:
git stash pop
提交操作:
- 提交暂存区到仓库区:
git commit -m [message]
- 提交暂存区的指定文件到仓库区:
git commit [file1] [file2] ... -m [message]
- 重做上一次commit,并包括指定文件的新变化:
git commit --amend [file1] [file2] ...
分支操作:
- 列出所有本地分支:
git branch
- 列出所有远程分支:
git branch -r
- 列出所有本地分支和远程分支:
git branch -a
- 新建一个分支,但依然停留在当前分支:
git branch [branch-name]
- 新建一个分支,并切换到该分支:
git checkout -b [branch]
- 新建一个分支,指向指定commit:
git branch [branch] [commit]
- 新建一个分支,与指定的远程分支建立追踪关系:
git branch --track [branch] [remote-branch]
- 切换到指定分支,并更新工作区:
git checkout [branch-name]
- 合并指定分支到当前分支:
git merge [branch]
- 选择一个commit,合并进当前分支:
git cherry-pick [commit]
- 删除分支: git branch -d [branch-name]
- 删除远程分支:
git push origin --delete [branch-name]
tag操作:
- 列出所有tag:
git tag
- 新建一个tag在当前commit:
git tag [tag]
- 新建一个tag在指定commit:
git tag [tag] [commit]
- 删除本地tag:
git tag -d [tag]
- 删除远程tag:
git push [remote] :refs/tags/[tagName]
- 提交指定tag:
git push [remote] [tag]
- 提交所有tag:
git push [remote] --tags
- 新建一个分支,指向某个tag:
git checkout -b [branch] [tag]
查看信息操作:
- 显示有变更的文件:
git status
- 显示当前分支的版本历史:
git log
远程同步:
- 下载远程仓库的所有变动:
git fetch [remote] [branch]
- 显示所有远程仓库:
git remote -v
- 增加一个新的远程仓库,并命名:
git remote add [shortname] [url]
- 取回远程仓库的变化,并与本地分支合并:
git pull [remote] [branch]
- 上传本地指定分支到远程仓库:
git push [remote] [branch]
- 推送所有分支到远程仓库:
git push [remote] --all
打包操作:
- 生成一个可供发布的压缩包:
git archive