Git 常用命令整理

43cf17fc19273f6c7818ee73510d1de0.gif

先上图一张,工作中像我这样使用git的朋友应该不少吧[捂脸]


生成 ssh key
1.ssh-keygen -t rsa -C "youremail@example.com" // 生成ssh key(注意后面填写自己的邮箱
2.cd ~/.ssh // 进入ssh目录
3.ls // 查看当前目录文件 >> id_rsa  id_rsa.pub
4.cat id_rsa.pub // 查看公钥内容(注意是.pub结尾的公钥文件)
5.将公钥添加到github,gitlab等的SSH key中
配置
git config --global user.name   //获取当前用户名
git config --global user.email  //获取当前用户邮箱
git config --global user.name "your name"  //设置用户名
git config --global user.email "your email"  //设置邮箱
初始化
git init // 在文件夹下初始化一个仓库,此时文件夹里会生成一个.git的隐藏文件夹
配置 git 忽略的文件
不需要 git 管理的文件可写在根目录下的 .gitignore 文件中 
如:
.DS_Store
.idea/
node_modules/
dist/
npm-debug.log
yarn-error.log
package-lock.json
yarn.lock
加入缓存区与提交
git add <文件名> // 将该文件加入缓存区
git add . // 将该所有改变的文件加入缓存区
git commit -m '说明文字' // 提交一次commit
git push // 推送到远端
git 分支相关
git clone https://gitee.com/example/example.git // 克隆远程仓库到本地
git branch // 查看本地分支
git branch --remote // 查看远程分支
git branch name // 创建分支
git checkout name // 切换分支
git branch -d name // 删除分支
git commit -a -m 'some words' // 在当前分支上提交内容
git merge name // 合并name分支到当前分支
git branch -D <分支名> // 删除本地分支

/* 分支的拉取与推送 */
git pull origin <远程分支名>:<本地分支名> // 拉取远程分支的代码
git push origin <本地分支名>:<远程分支名> // 推送本地分支到远程分支

/* 在分支开发过程中遇到问题需要切换其他分支, 保留写好的内容再切换分支 */
git stash // 保留内容
git stash pop // 切回之前的分支,回复之前保存的并将其从缓存中清除
git stash apply // 切换回来后需要应用保留的内容/
git stash drop // 丢掉保存的内容
远程仓库
git remote add origin <仓库的地址> // 添加远程版本库
查看git状态
git status

// On branch 2
// Your branch is up-to-date with 'origin/2'.
// Changes not staged for commit:
//   (use "git add <file>..." to update what will be committed)
//   (use "git checkout -- <file>..." to discard changes in working directory)
//         modified:   1.txt
查看文件改变内容
git diff

// diff --git a/1.txt b/1.txt
// index e69de29..d800886 100644
// --- a/1.txt
// +++ b/1.txt
// @@ -0,0 +1 @@
// +123
版本回退,情况太多,可参参考: https://blog.csdn.net/sinat_29774479/article/details/78599702

1.本地的错误提交

git reflog // 查看本地 HEAD
git reset --hard <HEAD> // 回退到本地目标 HEAD

2.自己的远程分支错误提交

git reflog // 查看本地 HEAD
git reset --hard <HEAD> // 回退到本地目标 HEAD
git push -f // 强制推送到远程分支

3.公共的远程分支错误提交

// 使用以下方式都可撤回
git revert HEAD //撤销最近一次提交
git revert HEAD~1 //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc //撤销0ffaacc这次提交
// 之后再 push
git push

附git常用命令一张:


git.jpg

推荐阅读更多精彩内容