# Study **Repository Path**: yaya_i/study ## Basic Information - **Project Name**: Study - **Description**: 学习中的记录 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-27 - **Last Updated**: 2021-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [文档地址](https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ) [狂神B站主页](https://space.bilibili.com/95256449?spm_id_from=333.788.b_765f7570696e666f.1) # Git相关 ### 1.本地配置文件位置在 >s C:\Users\Yaya 配置用户名:git config --global user.name "名字" 配置邮箱:git config --global user.email "邮箱" ### 2.git理论 >s四个工作区 ![image.png](https://sjwx.easydoc.xyz/10581441/files/knzrgc06.png) >s 六个重点的命令 ![image.png](https://sjwx.easydoc.xyz/10581441/files/knzrl3vo.png) >s提交文件流程 1、在工作目录中添加、修改文件; 2、将需要进行版本管理的文件放入暂存区域;(git add .) 3、将暂存区域的文件提交到git仓库。(git commit) ### 3.创建本地仓库 >s1.本地创建:git init 2.克隆远程代码:git clone [url](https://gitee.com/kuangstudy/openclass.git) ### 4.git文件操作 #### ` 4.1文件的四个状态 ` ![image.png](https://sjwx.easydoc.xyz/10581441/files/knztycyq.png) - Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged. - Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件 - Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 ! - Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified #### ` 4.2 文件操作命令` >sⅠ、查看文件状态: git status [filename] Ⅱ、查看所有文件状态: git status Ⅲ、将文件A放入暂存区:git add [filename]--此时,暂存区的A文件处于staged状态 Ⅳ、将暂存区的A提交到仓库: git commit [filename] "注释" --A文件将处于unmodified状态 Ⅴ、将仓库中的A提交到远程仓库上:git push #### ` 4.3 自己总结` >dUntracked->Staged: git add Staged->Untracked: git rm --cached [filename] Staged->Modified: 修改文件 Modified->Staged: git add 未知命令:git checkout -- [filename] commit只会提交staged状态下的文件 git commit -m "本次提交的说明" git diff 显示已经修改完的文件和上一次add文件的区别 #### ` 4.4 忽略部分文件 ` >s在主目录下建立".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 ### 5.gitee上创建仓库 >sgitee上创建一个仓库 然后git clone 拷贝到本地 # Linux常用命令 ### 1、cd : 改变目录。 ### 2、cd .. 回退到上一个目录,直接cd进入默认目录 ### 3、pwd : 显示当前所在的目录路径。 ### 4、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。 ### 5、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。 ### 6、rm: 删除一个文件, rm index.js 就会把index.js文件删除。 ### 7、mkdir: 新建一个目录,就是新建一个文件夹。 ### 8、rm -r : 删除一个文件夹, rm -r src 删除src目录 `rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!` ### 9、mv :移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。 ### 10、reset: 重新初始化终端/清屏。 ### 11、clear: 清屏。 ### 12、history: 查看命令历史。 ### 13、help: 帮助。 ### 14、exit: 退出。 ### 15、#表示注释 ` ---