一、流程图
基础命令总结
1. clone (克隆) : 从远程仓库中克隆代码到本地仓库2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订3. add (添加) : 在提交前先将代码提交到暂存区4. commit (提交) : 提交到本地仓库。本地仓库中保存修改的各个历史版本5. fetch ( 抓取 ) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。6. pull ( 拉取 ) : 从远程库拉到本地库,自动进行合并(merge) ,然后放到到工作区。相当于 fetch+merge7. push (推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
二、命令
第一次安装完成后,首先,设置用户信息,之后不需要再次设置
git config --global user.name “用户名”
git config --global user.email “邮箱地址”
touch ~/.bashrc (创建bashrc文件)vim ~/.bashrc (编辑bashrc文件)#用于输出git提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' #用于输出当前目录所有文件及基本信息 alias ll='ls -al'
source ~/.bashrc (执行这个脚本)
1.文件夹初始化
git init
2.查看当前文件状态
git status
新增加一个lao.md文件,使用git status命令查看当前状态,此时则为untracked(未追踪)状态,提示使用git add加入暂存区
3.新文件从工作区添加至暂存区
git add .
将当前所有文件提交至暂存区
git add 文件名
将某个文件提交至暂存区
当文件加入暂存区后,此时使用git status命令查看当前状态,此时则在暂存区,提示使用git committed加入本地暂存区
4.暂存区存入本地仓库
此命令会跳出vim编辑器,进行备注
git commit
快捷备注
git commit -m “备注信息”
小技巧:直接将新文件从工作区加入本地仓库
git commit -a -m “备注信息”
此时 git status状态
5.查询提交日志
git log
--all 显示所有分支--pretty=oneline 将提交信息显示为一行--abbrev-commit 使得输出的 commitId 更简短--graph 以图的形式显示
6.排除不上传的文件
创建文件 .gitignore
在此文件夹中添加需要忽略对文件名,此时这个文件则被忽略
7.版本回退
git reset --hard commitID
commitID 可以使用 git-log 或 git log 指令查看
git reflog
可以看到已删除的提交记录
三、分支
1.查看所有对分支名
git branch
2.创建新的分支名
git branch 分支名
3.切换分支
git checkout 分支名
4.创建新的分支,并切换
git checkout -b 分支名
5.删除分支
git branch -d 分支名
若分支没有合并,会有提示
若非常确定需要删除,则 git branch -D 分支名 (较为危险⚠)
6.其他分区合并在当前分支上
git merge 其他分区名
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时需要手动解决冲突,解决冲突步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区(add)
- 提交到仓库(commit)
冲突部分的内容处理如下所示:
四、远程仓库
1.下载(克隆)远程仓库文件
git clone https链接
2.添加远程仓库
git remote add <远端名称> <仓库路径>
远端名称:默认是origin,取决于远端服务器设置
仓库路径:从远端服务器获取此 URL
3.显示所有远程仓库
git remote
git remote -v
4.本地仓库推送至远程仓库
git push origin master
5.远程仓库抓取到本地仓库
git fetch
6.远程仓库拉取到本地仓库 (远程仓库整合在工作区)
git pull
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
7.分支冲突
A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支,如下图所示:
在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同。
操作方法:先pull拉取本地,解决冲突,在重新push推送远端服务器
8.查看本地仓库和远程仓库到区别
git diff 远程仓库名/分支名
五、在Idea中使用Git
安装好后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:
1.初始化本地仓库
2.设置远程仓库
3.提交到本地仓库
4.推送到远程仓库
5.克隆远程仓库到本地
6.IDEA常用GIT操作入口
第二张图是更多在IDEA操作git的入口