Git入门
参考链接:狂神说Java
基于Linux命令------ Git Bash 的使用
cd
:改变目录cd ..
: 返回上一层文件夹cd filename1/filename2
: 进入文件夹filename2
pwd
: 显示当前所在目录路径ls(ll)
: 列出当前目录中的文件,ll 命令列出的内容更加详细
touch
: 新建一个文件,如touch test.py
就会在当前目录下新建一个文件test.pyrm
: 删除一个文件,如rm test.py
mkdir
: 新建一个文件夹rm -r
: 删除一个文件夹mv
mv a.xx B
:将文件 a.xx 移动到文件夹 B 中
reset
: 重新初始化终端 / 清屏clear
: 清屏history
: 查看命令历史help
: 帮助exit
: 退出#
: 注释
Git 配置 相关命令
git config -l
: config代表配置 l就是Listgit config --global --list
: 用户自己的全局配置git config --system --list
: 系统的配置
git config --global user.name "your name"
:配置用户姓名为your namegit config --global user.email "your email"
:配置用户邮箱为your email
Git 核心理论
----------重要操作---------
//---------------------------------------1
//创建自己的分支
git checkout -b branchName
//下载仓库到本地
git clone (url)
//进入“仓库的文件夹中”
cd (fileName)
//查看文件信息
ls
//---------------------------------------2
//删除某些文件
rm (fileName)
//删除某些文件夹
re -r (file)
//添加新的文件
touch ccc.xx
//添加新的文件夹
mkdir xxx
//---------------------------------------3
//修改文件后,加载到缓存区
git add ccc.xx/xxx
//版本号,添加标签
git tag 标签名
//从缓存区,加载到本地仓库
git commit -m"messages"
//在远端仓库 创建 添加本地分支yourBranch
git push 仓库name yourBranch
-------------------------------
- 工作目录(Working Directory):放东西的地方
在本地工作区,有个隐藏文件夹.git - 暂存区(Stage/Index):实际上是一个文件
- 资源库(Git Directory)
- Git仓库(Remote Directory):远端网站上的代码文件仓库
Git 项目创建&克隆
本地搭建仓库
git init
:初始化项目,本地创建隐藏文件夹.git
克隆远程仓库
git clone [url]
:初始化项目,克隆远端仓库到本地
Git 文件操作
文件的四种状态
版本控制就是对文件的版本控制,对文件修改,提交等操作。操作前须知文件所处状态,否则可能导致提交了未被修改的文件。
-
Untracked:未跟踪,此文件在文件夹中,但没有加入到git库,不参与版本控制,通过
git add
状态变为Staged
-
Unmodify:文件已经入库,未修改,即版本库中的文件内容与文件夹中完全一致。这种文件有两去处,如果它被修改,则成为
Modified
;如果使用git rm
移出版本库,则成为Untracked
文件。 -
Modified:文件已修改,仅仅是修改,没有进行其他操作,也有两个去处:通过
git add
状态变为Staged
;通过git checkout
则丢弃修改过,返回到Unmodify
状态,即从库中取出文件,覆盖当前修改。 -
Staged:暂存状态,执行
git commit
则将修改同步到库中,这时,库中文件与本地文件变为一致,文件为Unmodify
状态;执行git reset HEAD filename
取消暂存,文件状态为Modified
。
git add . //代表将所有文件加入到暂存区
git status //文件查看命令,可以查看所有文件所处状态
git status [filename] //查看指定文件的所处状态
git commit -m //将暂存区文件提交到本地仓库 -m代表提交备注信息
git commit -m "备注信息" //示例
文件忽略提交
我们不想把某些文件纳入到版本控制中,对这类文件进行’‘忽略’'操作
在主目录下建立.gitignore
文件,文件有如下规则:
- 忽略文件中的
空行
,或以井号(#
)开始的行将会被忽略 - 可以使用Linux通配符,例如:
- 星号(
*
)代表任意多个字符 - 问号(
?
)代表一个字符 - 方括号(
[abc]
)代表可选字符范围 - 大括号(
{str1,str2,...}
)代表可选的字符串
- 如果名称的最前面有一个感叹号(
!
),表示例外规则,该文件将不被忽略 - 如果名称的最前面是一个路径分隔符(
/
),表示要忽略的文件在此目录下,而子目录的文件不忽略 - 如果名称的最后面是一个路径分隔符(
/
),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)
#为注释
*.txt #忽略所有.txt结尾的文件
!lib.txt #但lib.txt文件除外
/temp #忽略temp文件夹路径之前的所有文件
build/ #忽略build文件夹目录下的所有文件
doc/*.txt #会忽略doc/mf.txt,但是不会忽略doc/lab/tod.txt
Git 生成公钥
用于免密码上传到远端仓库
在如下目录下用girbash输入命令:
//ssh-keygen 代表生成公钥
//-t rsa 代表加密方式
ssh-keygen -t rsa
输入成功后将看到自动生成的两个文件,将.pub
结尾的文件内容复制到—Gitee网站—个人界面—SSH公钥中。