Git使用
-
上传代码不将本地化文件上传,如.idea、target等
- 需要创建.gitignore文件(可以使用touch命令创建和vim编辑)
- 需要创建.gitignore文件(可以使用touch命令创建和vim编辑)
-
使用git管理会生成.git文件
-
index暂存区
-
Git GUI:Git提供的图形界面工具
-
Git Bash:Git提供的命令行工具
-
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
git命令(远程仓库)
- 显示红色代表在工作区,绿色代表在暂存区
- 打开对应的文件就可以进入对应的分支
- git status 查看当前文件夹下的状态
- 简写 git status -s A表示添加(Add) M表示修改(Modifided)
- 设置用户信息
- git config --global user.name “用户名”
- git config --global user.email “邮箱”
- git add 文件 将文件从工作区添加到暂存区
- git add . 全部添加到暂存区
- git commit -m “add A.java B.java” 将暂存区的文件提交到本地仓库同时清空暂存区,-m表示注释本次的操作到日志,这个操作的前提是已经设置好用户名和密码
- 已经添加到本地仓库的文件修改后会进入工作区,需要重新添加
- 只添加在工作区的文件
- git reset 取消暂存区已经追踪的文件(从暂存区回到工作区)
push到远程仓库
本地关联远程仓库
- git push 【remote name】【branch name】
已经关联了远程仓库
- git remote 打印远端名称
- git remote show origin 显示具体的远程仓库
- git push origin[远端名称] master[分支] 将本地仓库的代码推送到远程仓库 (在推送之前一般先pull,因为这个操作执行了fetch+merge合并,避免冲突)
- 冲突:hint: (e.g., ‘git pull …’) before pushing again.
- pull后会在冲突位置自动添加
class A{ int m = 0; int n; <<<<<<< HEAD String username="lml"; ======= String username="hodor007"; >>>>>>> 2b4e005512d66e987dac5c08b33c5198b489dd61 }
忽略某些文件
- 使用.gitignore文件忽略文件如wen开发中target文件夹等等
- 使用vim编辑器编辑 添加在.gitignore文件中添加target/忽略文件,需要将.gitignore文件添加到本地仓库
- doc/**/*.pdf 两个星号代表所有的子目录
- 示例文件
.idea
.idea/
*.iml
/**/*.iml
/*/target/
target
分支
- git branch 查看分支
- git branch -r 查看远程分支
- git branch 分支名 创建分支
- git checkout 分支名 切换分支,master分支一般是上线版本
- git checkout 文件名 将文件回滚到最初开发的状态
- git merge 分支名 合并分支 有冲突的情况下会放到工作区
- 不同的分支合并容易产生覆盖的问题
- bugfix分支一般向所有分支合并
- git branch -d 删除分支的时候需要做合并冲突检查
- git branch -D 不做任何合并冲突检查,强制删除
IDEA上git的使用
- 可以手动git提交,并无区别
- 使用git clone 命令获取项目,使用IDEA打开即可
- IDEA使用git创建文件带颜色,红色代表未添加到暂存区,修订已有的内容,默认为蓝色(在工作区)
- 功能目录VCS->commit提交代码到本地仓库
- 点击文件右击VCS->Git->add可以手动添加到暂存区,同理也可以找到git reset对应的命令(可以选择文件)
- 点击文件右击VCS->Git->commit可以将代码提交到本地仓库(需要写日志)
- VCS->Git->commit可以提交将多个文件(需要写日志)
- 使用命令git commit不带任何参数默认提交全部的暂存区代码
- 提交完成后代码的颜色自动消失
- git pull后弹窗询问选择哪一个版本的代码,点击close自己合并
- git tag 设置标签,方便定位
- 码云平台的统计->标签可以查看标签
使用SSH协议
- C盘用户目录下.ssh文件中有公钥和私钥
- remote.origin.url=https://gitee.com/hodor001/mm.git 如果是以git开头说明使用了ssh协议