Git常用命令
初始化仓库
- git init
在当前目录生成初始化git仓库
- git clone
克隆服务端仓库到本地
git clone <url> [directory]
不同协议类型
git clone [email protected]/schacon/grit.git --SSH协议
git clone git://github.com/schacon/grit.git --GIT协议
git clone https://github.com/schacon/grit.git --HTTPS协议
配置
- git config
git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'
合并提交
- git log
- git rebase -i HEAD ~n
压缩n个commit为1个
pick:使用commit。
reword:使用commit,修改commit信息。
squash:使用commit,将commit信息合入上一个commit。
fixup:使用commit,丢弃commit信息。
- git push
工作
常用
- git stash
查看相关文件状态
- git diff
相比stash可区分缓存
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
- git add
git add . ;添加所有文件到缓存中
git add *.java ;
- git reset
取消已缓存的内容
git reset HEAD test.txt ;test.txt不会被commit
- git rm
从工作区中删除文件
git rm <file>
git 人民--cached<file> ;类似git reset
stash
- git stash
暂存工作区
- git stash pop
释放最新存入的工作区
- git stash list
$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log
- git stash apply
git stash apply stash@{2}
- git stash drop
分支管理
- branch
git branch ;查看当前分支
git branch -a ;查看所有分支
git branch <bName> ;创建分支
git checkout <bName>;切换分支
git merge <bName> ;合并其他分支到当前分支
git branch -d <bName>;删除分支
标签
- tag
git tag -a v1.1 -m "测试标签" ;创建标签
git tag ;查看标签
远程仓库
- git remote add
- git remote 查看
- git fetch 提取远程仓库,不自动合并,后跟merge,手工合并
git fetch <hostName> <remoteBranch>
git fetch origin master
git merge FETCH_HEAD
- git pull 覆盖本地
git pull <hostName> <remoteBranch>:<localBranchx>
- git remote rm
删除远程分支
- git push
git push <hostName> <localBranch>:<remoteBranch>
git push origin br_xf:master --force
git push origin dev ;本地分支与远程相同可省略分支名
git push dev ;本地分支与远程已建立联系可省略主机名
标签:git,--,stash,缓存,Git,常用命令,commit,分支
From: https://www.cnblogs.com/Feng1101/p/18297612