# git安装和常用命令
# git安装
安装完成后,在开始菜单里找到“Git”->“Git Bash”
蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2
最后会在C盘生成一个.gitconfig文件,也可以在里面手动修改
# 连接远程仓库
# 生成ssh key公钥
1. 创建SSH Key。在windows下查看c盘->用户->自己的用户名->.ssh下是否有id_rsa、id_rsa.pub文件,如果没有需要手动生成。
打开git bash,在控制台中输入以下命令
$ ssh-keygen -t rsa -C "youremail@example.com"
密钥类型可以用-t选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。
同时在密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。
输入完毕后程序同时要求输入一个密语字符串(passphrase),空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤,此时c盘>用户>自己的用户名>.ssh目录下已经生成好了。
2. 登录github。打开setting->SSH keys,点击右上角New SSH key,把生成好的公钥id_rsa.pub文件里面的内容复制粘贴进key输入框中
# 常用命令
# 初始化创建仓库
git init
把这个目录变成Git可以管理的仓库git add filename
将工作区文件添加到缓存区,-A是添加所有git commit -m 'message'
将缓存区文件提交到git仓库
# 查看修改和差异
git status
查看当前分支有哪些修改git diff
查看当前没有add的内容git diff --cache
查看已经add但是没有commit的内容git diff HEAD
上面两个内容的合并git reset --hard HEAD
指定回到哪个版本,HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard HEAD。git log
穿梭前,可以查看提交历史,以便确定要回退到哪个版本。git reflog
要重返未来,用查看命令历史,以便确定要回到未来的哪个版本。git checkout -- file
丢弃该文件在工作区的修改,命令中的-- 很重要,没有-- ,就变成了“切换到另一个分支”的命令
# 远程仓库
git clone XXX
克隆一份代码到本地仓库git pull xxx
把远程库的代码更新到本地git fetch xxx
把远程库的代码更新到本地库
与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷
git push xxx
把本地库的修改提交到远程库中git pull --rebase origin master
强制把远程库的代码更新到当前分支上面
# 分支
git branch
查看分支git branch test
创建test分支git checkout test
切换到test分支git checkout -b test
新建并切换test分支git branch -d test
删除test分支git merge test
假设当前在mastert主支上面,把test合并到master上git merge tool
调用merge工具
# 缓存
git stash
把未完成的修改缓存到栈容器中git stash list
查看所有的缓存git stash pop
恢复本地分支到缓存状态
# 团队协作git操作流程
- 克隆一个全新的项目,完成新功能并且提交
- git clone XXX //克隆代码库
- git checkout -b test //新建分支
- modify some files //完成修改
- git add . //把修改加入stage中
- git commit -m '' //提交修改到test分支
- review代码
- git checkout master //切换到master分支
- git pull //更新代码
- git checkout test //切换到test分支
- git meger master //把master分支的代码merge到test分支
- git push origin 分支名//把test分支的代码push到远程库
- 目前正在test分支上面开发某个功能,但是没有完成。突然一个紧急的bug需要处理
- git add .
- git stash
- git checkout bugFixBranch
- git pull --rebase origin master
- fix the bug
- git add .
- git commit -m ''
- git push
- git checkout test
- git stash pop
- continue new feature's development
← 前端规范 vs code 常用插件和设置 →