Git笔记
1.Git常用命令
命令行 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
命令行 | 作用 |
---|---|
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m “日志信息” 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git log | 查看日志 |
git reset --hard 版本号 | 版本穿梭 |
2.Git分支操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout -v | 切换分支 |
git merge 分支名 | 把指定分支合并到当前分支上 |
2.1 产生冲突
原因:
合并分支时,两个分支在**同一个文件的同一个位置有两套完全完全不同的修改,Git无法替我们决定使用哪一个
必须认为决定**新代码内容
查看状态:
![](https://img-blog.csdnimg.cn/6736a34abf94409c85762e6d124045a5.png)
合并后:
需要再次将文件添加到暂存区**并**提交到本地库,提交本地库时git commit -m “日志信息” 后面不能接文件名,否则报错
3.GitHub操作
3.1 远程仓库操作
命令名称 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程地址内容克隆到本地 (不需要登录账号) |
git pull 远程地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来 后与当前本地分支直接合并 (需要登录账号) |
git remote rm 别名 | 删除关联的别名的远程库 |
3.2 clone小结:
clone 会做如下操作:
1、拉取代码 2、初始化本地仓库 3、创建别名
3.3 团队内协作:
需要邀请成员并同意后,其他成员才可以上传和拉取代码
3.4 GitHub理解
![](https://img-blog.csdnimg.cn/dff8c1f94b644a619a5290bff36874fe.png)
3.5 GitHub 免密登录
命令名称 | 作用 |
---|---|
ssh-keygen -t rsa -C GitHub邮箱 | 生成.ssh密钥目录 |
1.输入命令后连续敲三次回车
2.---->
![GitHub免密登录1](https://img-blog.csdnimg.cn/2d1fdd1cd40d4550982a9cf98f4a4b49.png)
3.–>
![GitHub免密登录2](https://img-blog.csdnimg.cn/0f298b56ffce4ab8a89dcb1d323c6ccb.png)
4.IDEA集成Git
4.1 配置Git忽略文件
为什么忽略部分文件:.iml之类的文件与实际功能无关,不参与服务器具体运行,把他们忽略掉能够屏蔽IDE之间的差异
怎么忽略:创建忽略规则文件,XXX.ignore (前缀名随便起 建议是git.ignore)
存放位置:为了便于让~/.gitconfig文件引用,建议放在用户家目录下
文件模板内容:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)
[user]
name = Layne
email = Layne@atguigu.com
[core]
excludesfile = C:/Users/codeS/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)
4.2 IDEA测试Git
![](https://img-blog.csdnimg.cn/d2dc7ece7dff472ca7ca64ae9bd54119.png)
4.3 IDEA 集成Git
![IDEA 集成Git](https://img-blog.csdnimg.cn/45513155420241c6acb5ce2b44e5ec7c.png)
4.4 IDEA切换代码版本
![](https://img-blog.csdnimg.cn/3a1aba1d8c4e451aabdd6b6a8b42af6d.png)
4.5 IDEA新建分支
![](https://img-blog.csdnimg.cn/9edff8daa0a14ca9a45fc5b749516eef.png)
4.6 、合并分支
![](https://img-blog.csdnimg.cn/fde53f30ecc4484aa9f4aa4bb5ecce62.png)
5.IDEA集成项目
5.1分享到GitHub
![](https://img-blog.csdnimg.cn/6cf3fce8696c4c47977fce92ab8c3840.png)
5.2推送到GitHub
注意:push是将本地库推送到远程库,如果本地库与远程库代码不一致,push操作是拒绝的,push成功必须是本地库版本比远程库版本更高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地
代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
![](https://img-blog.csdnimg.cn/e29046cab45345109d576ad9bad9f34a.png)
![](https://img-blog.csdnimg.cn/1dab917d849149a29ef1b00780f83864.png)
5.3push拉取远程库到本地库
注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动 合并,如果自动合并失败,还会涉及到手动解决冲突的问题
![](https://img-blog.csdnimg.cn/f27e039cb20e443e8d690cedc8bde778.png)
5.4 clone代码
![](https://img-blog.csdnimg.cn/f46b7540677d453b83c3cfa90b2bb9b8.png)
6.GitLab
6.1 GitLab官网地址
GitLab官网地址:http://about.gitlab.com