Git常用操作

git
创建于:2019年10月09日 更新于:2020年01月15日

安装:

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