Git常用操作
安装:
yum install git
git config --global user.name "{username}"
git config --global user.email "{email}"
生成公钥
ssh-keygen -t rsa -C "email"
查看公钥
cat ~/.ssh/id_rsa.pub
创建版本库:
git init // 把当前所在目录变成仓库
添加远程仓库
git remote add origin <git地址>
把文件添加到仓库
git add file // git add 命令实际上就是把要提交的所有修改放在暂存区(stage)
把文件提交到仓库
git commit -m 'desc'
// -m 后面的内容是对本次提交的说明
// git commit 提交更改实际上即使把暂存区的所有内容提交到当前分支
把修改提交到远程分支
git push origin <分支名>
查看提交日志
git log
git log --pretty=oneline
版本回退
git reset --hard HEAD^
// HEAD^代表回退到上一个版本,HEAD^^回退到上上个版本,HEAD~100回退到上100个版本
// hard后面跟版本id可以回退到指定版本
查看操作日志
git reflog
[root@iZ2zefw4wlcm0he1pjkawoZ test]# git reflog
1056587 HEAD@{0}: reset: moving to 1056587
071cc7c HEAD@{1}: reset: moving to HEAD^
1056587 HEAD@{2}: commit: append the third line
071cc7c HEAD@{3}: commit (initial): wrote a readme file
查看文件工作区和版本库的区别
git diff filename
删除文件
git rm file
拉取远程分支代码到本地,并切换分支
git checkout -b feature origin/feature
当在分支1开发时,突然需要用到另一个分支2,但是此时分支1并没有提交,切换到分支2失败。使用 git stash
可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
分支2工作完成后,切换回分支1使用 git stash pop
恢复
回退版本到远程dev分支的最后一个版本
git reset --hard origin/dev
git撤回push到远程的代码
// 先回退到指定版本
git reset --hard <版本号>
// 强制提交到远程分支
git push origin <分支名> --force