Git的使用
我的ssh秘钥
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDuQdVHUWXHCf+HsgAYaz3qk+YQAH2AedRc0IXtK8yFBV1J4eSlYtefRfJpZaYNNKj29h6/CN3fIgO7w+7DL2fumfCCXjwbpXMHyt0LIQreXRHFdoYp0Xx+Yhf9bLUJUoWTc7tz26QwAx4XIiiFBJRq3wZVmqkejQHD8xeqMh+a/BkNFzcs7fJ5cdibLKX4SpoLjsNZFveAExA4lG1bkz5LE6eDQx/RIcfk0VgqzsCRunzbM05hw1kVdQhF6CQDgISDmufMgWk+o8JR5XMMsZVnOAbtq8UaTowR14dXe5xi7/OKcBHkWWgGWTGJ4gxRZgDlMDp4vpHRlo2PYdjeVklzEeoo5JRRlhjP8d59eQH3YQ1LW+B3eco6O3tHjrbmnSmFZsc0G2wVeJ/xqfWiplsI18OJiybczTlSMJUhEta78wSZ4lur/SepO8V3d/FktLrt6oGx+cHjlPKGXo2YDbYfkKdlEavGweMMrHRnCWwW8w4wT8nC1Bo9krR15wCPQAU= 106418751@qq.com
项目的搭建
创建方式一:本地仓库搭建
在本地仓库中右键打开 git bash here
输入git init
创建一个有隐藏文件的 .git
文件
创建方式二:克隆远程仓库
在本地仓库中右键打开 git bash here
输入git clone git上仓库路径
使用idea继承Git
步骤:
1、新建项目,绑定Git
- 将远程的git文件目录拷贝到项目中即可
Git必要配置
查看配置git config -l
查看系统命令 git config --system --list
查看本地全局 git config --global --list
查看的是用户名和密码必须要配置的
配置用户名和邮箱命令
git config --global user.name "pccyh"
git config --global user.email "1064187512@qq.com"
Git文件操作
先git init
创建一个.git 文件
git status
查看文件状态
创建一个文件再查看状态,发现 新创建的文件爆红,表示没有被git跟踪
git add .
添加所有文件到暂存区 【注意空格和.】 文件不爆红了
git commit -m
提交暂存区中的内容到本地仓库 -m 提交信息 git commit -m "消息"
git push
远程到远程
git push origin master 主分支上传
忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立".gitignore"文件,此文件有如下规则:
- 忽略文件中的空行或以井号(#)开始的行将会被忽略。
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
在idea中配置忽略文件
# 如 所有的class文件 日志文件 jar,war包 和target/下的文件
*.class
*.log
*.lock
*.jar
*.war
targer/
.idea/
*.iml
使用码云
1、注册
2、免密码登录【重点】
生成公钥
ssh -keygen 默认在用户下产生
ssh -keygen -t rsa 加密
复制 id_rsa.pub 文件
3、使用码云创建一个仓库
- 新建仓库
4、使用idea克隆到本地
git clone url
IDEA中集成Git
【用命令吧,idea提不上去】
将git远程仓库中的文件下,拷贝到现有的项目中
Git分支
git分支中常用指令:
# 连接远程仓库GitHub
git remote add -f origin url
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
b# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 强制切换分支
git checkout -f [branch]
创建远程分支
$ git push origin 本地分支名字:本地分支名字
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
git回退版本
查看版本
git log
git reflog
版本回退
git reset --hard HEAD
git reset --hard 2fe8aab(版本号)
当多人协作时回退主分支版本建议:
git revert HEAD //撤销最近一次提交
git revert HEAD~1 //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc //撤销0ffaacc这次提交
解决文件冲突
多人修改同一文档发生冲突
git init ====== 创建一个空的文件
git remote add origin url(远程仓库地址链接) ====== 表示添加远程库的地址
git config core.sparsecheckout true ====== 打开sparsecheckout功能
注意:如果需要分支内所有文件,这个指令可以直接过忽略,则会拉取对应分支所有的文件
echo (filename)要拉取的项目名或者文件名 >>.git/info/sparse-checkout
====== 添加目录到checkout的列表,也可以使用文本编辑
git pull origin 分支名(文件所在的分支) ====== 拉取远程的分支
步骤:
1、设置文件过滤
2、可以将master的项目分享上去
3、然后add commit git push origin master
在向主分支上传文件
4、在本地添加一个分支
5、在远程仓库中添加新的分支 git push origin dev1,
6、add commit push origin dev1
向分支上传文件
7、登录主分支,然后 git merge dev1
将dev1的项目合并到master里
8、再进行上传