前言
- 本篇笔记参考尚硅谷视频:BV1vy4y1s7k6 ,BV1ne4y1S7S9
- markdown源文件:https://gitee.com/plusmile/stackedit-app-data
1.git本地操作
设置用户签名和邮箱
git config --global user.name [name]
git config --global user.name plusmile
git config --global user.email [email]
git config --global user.email plusmile@qq.com
初始化本地库
git init
查看本地库状态
git status
添加/删除暂存区文件
git add [filename]
git rm --cached [filename]
提交本地库,生成版本信息
git commit -m "日志信息" [filename]
查看版本信息
大致查看 git reflog
详细信息 git log
切换版本
git reset --hard [版本号]
,会将硬盘、暂存区、本地库的修改全部撤销,具体看第四点
分支操作
创建分支 git branch [分支名]
查看分支 git branch -v
切换分支 git checkout [分支名]
把指定分支合并到当前分支 git merge [分支名]
2.github操作
团队内合作
在同一个远程库中完成
push到远程库时需要同一个团队的权限
团队外合作
fork到自己的远程库
Pull request 经审核后合并到原库
新建远程仓库
去github上点点+
名字一般与本地文件夹同名
获得http和SSH连接
创建远程库别名
git remote -v
查看当前所有远程地址别名
git remote add 别名 远程地址
推送到远程库
push前先pull
第一次pull,远程库与本地不一致,使用以下命令
git pull 别名/地址 分支名 --allow-unrelated-histories
之后
git pull 别名/地址 分支名
再推送
git push 别名/地址 分支名
使用SSH免密登录
用户名目录下右键打开git bash
ssh-keygen -t rsa(加密算法) -C 邮箱
后敲三次回车生成公钥和私钥
复制公钥到github/gitee
之后可以将http连接换为SSH连接了
3.在idea中添加git
0.可以在.gitignore文件中配置忽略.idea文件夹
1.在文件-设置-版本控制-git中找到git/bin/git.exe,点击测试,显示版本号后表示添加完成
2.在上面工具栏中工具和窗口选项中间的VCS/git可以初始化本地库
3.左下角有git/vcs可以查看版本信息,和切换版本等
4.右下角可以进行分支相关操作
5.在idea中使用github,在设置的版本控制中找到gitHub,点击添加账户,登陆困难可以使用token登录,token在github的设置里面
6.可以通过2.中的选项,直接在远程库创建库并分享项目
7.使用拉取,提交,推送的图标
4.git的撤销操作
- 只撤销硬盘上的修改:
git checkout <changed_file>
或者git restore <changed_file>
- 只撤销暂存区上的修改:
git reset <changed_file>
或者git restore --staged <changed_file>
- 撤销暂存区和硬盘上的修改:
git checkout HEAD <changed_file>
,HEAD为最近的一次commit - 只撤销本地库上的修改:
git reset --soft HEAD~1
HEAD~1指向上一次提交 - 撤销本地库和暂存区修改:
git reset HEAD~1
或git reset --mixed HEAD~1
- 撤销本地库、暂存区和本地库修改:
git reset --hard HEAD~1
,个人可以使用,这时推送到远端需要使用git push -f
- 撤销本地库、暂存区和本地库修改:
git revert HEAD/版本号
,公司中推荐使用这个是再增加一样提交,把要撤销的内容中和掉,比如上一次提交是增加了一行,这个命令就会提交把增加的那行删除的版本。
5.git merge 和git rebase的区别
- rebase 是在最后一个公共节点处,截取主分支后面的提交,嫁接到rebase的分支,形成一条简介的提交线,嫁接后的分支的commit号会和之前的不一样。
- merge根据公共节点3,和两分支最新的节点5和7,生成新节点8