自己简单的Git学习记录
Git学习记录
1 核心理论
在Git中,有四个库
1.Working Directory(工作目录)
2.Stage(暂存区)
3.History(资源库)
4.Remote Directory(远程仓库)
1.add->2.commit->3.push->4
4.push->3.reset->2.checkout->1
2文件操作
基本流程如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wzVNzg2A-1627442163969)(C:\Users\周屹博\Desktop\image-20210714164747409.png)]
2.1文件创建的方式
2.1.1
git init
2.1.2
git clone [url]
2.2查看文件的状态
用到的命令
git add .
git status
git status [filename]
git commit -m "xxx"
首先,我们需要用git status来查看现在文件的状态,可以查看所有文件的状态,分别在哪个区域中。如果用git status [filename],就可以查看指定文件的状态,如果还在Working Directory,就可以用git add .来传到Stage中,再通过git commit -m "xxx"来将其上传到History中,其中xxx是备注
2.3忽略文件
我们可以把不想上传的文件写入.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
2.4.ssh公钥的设立
首先,在电脑的任意位置创建以.ssh为名字的文件夹
输入
ssh-keygen -t rsa
再点三次回车即可
在获取后,打开里面以pub为后缀的文件,将内容复制到公钥创建处即可
3 IDEA中集成Git
3.1 连接Git
3.1.1 直接拷贝法
1.将我们新项目新建到clone过来的项目的同一个路径下
2.将clone过来的项目全部拷贝到新项目文件夹中
我们可以发现,连接后,在IDEA中文件名的颜色是会变的,不同的颜色就代表着项目此时的位置
3.2 上传文件
3.2.1 右上方提交按钮
点击提交按钮后,就在里面勾取自己需要上传的文件即可 是直接commit到History中的
3.2.2 Terminal
在界面左下角有Terminal按钮,点击后直接在里面输入git add . 等代码行即可
git push 在这里也适用
3.2.3上传已修改的文件
若文件已经上传过但被修改了,就可以在左区选中后右键找到Git选项,点击Add即可
4 Git分支
4.1 查看分支
查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a
4.2新建分支
git branch xxx 注意这里只是新建了一个xxx分支,但是实际上本身还在master中
4.3切换分支
新建并切换:git checkout -b [branch]
切换到已有分支: git checkout [branch]
4.4合并分支
将输入的分支合并到当前分支中:git merge [branch]
4.4.1 合并的冲突问题
如果master中未改变,dev中改变了,那么合并dev到master里就不会出现问题。
但若master也发生改变了,合并dev到master中时就会报错冲突,让你选择版本或者手动将两边的冲突代码合并。
4.5删除分支
git branch -d [branch-name]
4.6删除远程分支
git branch -dr [branch]
但若master也发生改变了,合并dev到master中时就会报错冲突,让你选择版本或者手动将两边的冲突代码合并。
4.5删除分支
git branch -d [branch-name]
4.6删除远程分支
git branch -dr [branch]
git push origin [branch]