基本的Linux命令学习
- cd : 改变目录
- cd+空格+… :回退上一个目录,直接cd进入默认目录
- pwd :显示当前所在的目录路径
- clear :清屏(reset效果跟这个差不多)
- ls(ll) :都是列出当前目录中的所有文件,只不过ll列出的内容更为详尽
- 蓝色代表目录 白色代表文件 绿色代表程序
- touch :新建一个文件
- rm :移除一个文件
- mkdir :创建一个目录
- rm -r :删除一个目录
$ rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
- mv :移动文件(前面文件名,后面是当前目录下的目录名,中间空格隔开)
- history :查看历史命令
- exit :退出
- #注释
- help :帮助
Git配置
所有的配置文件,实际上都保存在本地
-
git config -l
- 当前我们项目下面关于git的所有配置
-
git config --system --list
- 查看系统配置的环境(D:\Envioroment\Git\etc\gitconfig)
-
git config --global --list
- 用户自己配置的环境(C:\Users\86150.gitconfig)
- 用户名和密码是必须配置的
$ git config --global user.name "Joseph" $ gti config --global user.email "1023424477@qq.com"
Git基本理论(核心)
工作区域
- 工作目录(Working Directory)
- Workspace:工作区 平时存放项目代码的地方(project文件夹)
- 暂存区(Stage/Index)
- 用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息
- 资源区(Repository或Git Directory)(HEAD会在.git文件中,后面会生成)
- Repository:仓库区,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其实HEAD指向最新放入仓库的版本
- 远程的git仓库(Remote Directory)
- Github 和 Gitee
工作流程
1.在工作目录中添加文件、修改文件;
2.将需要进行版本管理的文件放入暂存区;
$ git add
3.将暂存区域的文件提交到git仓库
$ git conmmit -m "这里是版本信息,必填"
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git项目搭建
六个重要命令
本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程的仓库
1、创建全新的仓库,需要用Git管理的项目的根目录执行
$ git init
//初始化当前项目,多了一个隐藏的.git文件
//关于版本等的所有信息都在这个目录里面
克隆远程仓库
1、将远程服务器上的仓库完全镜像一份至本地
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]
2、去gitee或者github上克隆测试
Git文件操作
文件的四种状态
- untracked(未跟踪,没加入git库中)
- 此文件在文件夹中,并没有加入git库,需要通过
git add
状态变为Stager
- 此文件在文件夹中,并没有加入git库,需要通过
- unmodify
- 文件已经入库,未修改,即版本库中的文件快照内容与文件夹完全一致,这种类型的文件有两种去处,如果被修改,就变为
Modified
,如果使用git rm
移出版本库,则成为Untracked
文件
- 文件已经入库,未修改,即版本库中的文件快照内容与文件夹完全一致,这种类型的文件有两种去处,如果被修改,就变为
- modified
- 文件已修改,两个去向
git add
到暂存区 或者git checkout
(丢弃)。文件修改后,如果无法add,将.git中的 XXX.lock这个文件删除即可
- 文件已修改,两个去向
- staged
- 暂存状态。执行
git commit
则将修改同步到库中,这时库中的文件和本地又变为一致,文件为Unmodify
状态,执行git reset HEAD filename
取消暂存,文件状态为Modified
- 暂存状态。执行
$ git status
//查看所有文件状态
$ git status[filename]
//查看所有文件状态
# git add
//添加所有文件到暂存区
//提交暂存区中的内容到本地仓库 (提交信息)
# git commit -m "注释内容"
忽略文件
在主目录下建立".gitignore"文件
# 为注释
*.txt
#忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt
#除了lib.txt其他全忽略
/temp
#仅忽略项目根目录下的TODO文件,不包括其他目录的temp
bulid/
#忽略build/目录下的所有文件
doc/*.txt
#会忽略doc直接下级的所有txt文件
配置SSH公钥以及创建远程仓库
#先在用户文件中创建公钥
mkdir ~/.ssh
#生成公钥
$ ssh-keygen -t rsa
使用码云创建一个自己的仓库
- 关于许可证:开源是否可以随意转载,开源但是不能商业使用,不能转载等…
利用 git clone [url] 克隆到本地之后才能将自己在本地仓库区的文件push到远程仓库中
GIT分支
当多人的文件汇聚在一起,需要用git分支来解决一些问题
git分支中常用指令
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
#新建一个分支,但依然停留在当前分支
git branch [branch-name]
#新建并切换分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
多个分支如果并行执行,就会导致我们代码不冲突
ch-name]
#新建并切换分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
多个分支如果并行执行,就会导致我们代码不冲突