Git
Git是分布式版本控制工具
- 集中式版本控制式工具,集中提交到一个中央服务器上进行版本控制
- GIt
- 分布式版本控制
- 可以在本机库进行版本控制
Git的工作机制

远程库
使用git push 从本地库推送到远程库
GIt的常用命令
设置用户
- git config --global user.name + 用户名
- 设置用户签名
- git config --global user.email + 邮箱
- 设置用户签名
- 签名的作用是区分不同操作者的身份
- 与账号无关系
初始化本地库
- git init
查看本地库状态
- git status
- 分支
- 提交命令
- 需要提交的文件
添加到暂存区
- git add + 文件名
- 添加所有文件:git add .
提交到本地库
- 将暂存区的文件提交到本地库
- git commit -m + "日志信息" + 文件名
修改文件
- vim + 文件名
- 建立文件
- :wq 保存
- cat + 文件名
- 打开文件
- tail -n 1 + 文件名
- 查看最后一行
历史版本
查看历史记录
- git reflog
- git log
- 详细的
版本穿梭(切换版本)
- git reset --hard 版本号
- 版本穿梭
- 版本号通过历史记录查看
- git的切换版本,底层其实是移动的HEAD指针,指向当前的版本
Git分支操作

分支
- 在版本控制过程中,同时推进多个任务,为每个任务创建一个单独分支。
- 使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的进行

分支的操作
查看分支
- git branch -v
创造分支
- git branch 分支名
切换分支
- git checkout 分支名
删除分支
- 删除本地分支:git branch -d + 分支名
- 删除远程分支:git push origin -d + 分支名
合并分支(正常合并)
- git merge + 要合并的分支
- 合并到当前分支
合并分支(冲突合并)
- 冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个,必须人为决定新代码内容
- 进入文件手动修改
- 修改后提交(commit)不要添加文件名,要先add该文件
团队协作
团队内协作
- push:从本地库推送到远程库
- clone:从远程库克隆到本地库
- pull:拉取远程库,更新本地库
git pull
本地和远程出现冲突
1 | error: Your local changes to the following files would be overwritten by merge: |
- 如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
1 | git stash |
- 如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
1 | git reset --hard |
跨团队协作
- fork:将远程库的代码复制到另一个远程库
- pull request:拉取请求,经过审核后进行合并
- merge:合并
GitHub操作
创建远程库别名
- git remote -v
- 查看当前所有远程地址别名
- git remote add + 别名 + 远程地址
推送本地库到远程库
- git push + 别名/链接 + 分支
拉取远程库到本地库
- git pull + 别名/链接 + 分支
克隆远程库到本地
- git clone + 远程地址
邀请加入团队
团队内
- 可以邀请加入共同编辑一个远程库
- 然后就可以推送内容到这个远程库中
跨团队
- 点击fork,可以将别人的库复制一份,变成自己的一个库
- 在自己的库中修改,但原来的库不会变化
- 可以发送pull request,经过同意后可以合并改变原来的库
## SSH免密登录
- ssh-keygen -t rsa -C + 邮箱
- 生成密钥
- 然后添加到账号里面的ssh列表里
创建.ignore文件
- 忽略与代码无关的编译器文件内容
- 第一步,创建.ignore文件
1 | # Complied class file |
- 第二步,添加到.gitconfig文件中
1 | [user] |
Idea内git操作
- 创建本地库
- 在VSM中点击create git respository
- 切换版本
- 在Log中点击checkout进行切换
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yeの博客!