项目中的Git使用
Sourcetree这个软件也可以进行代码提交,比git命令要方便许多
一、项目代码书写之前:
- git checkout -b order(order是子分支名称); – 创建子分支order,并切换到子分支上(此时的切换是从master主分支切换到order子分支上的);
- git branch; – 查看所有分支(目的: 确保上一步是否正确; 当前所处分支名称前面会显示*号);
- git push -u origin order(刚刚创建的子分支名称); – 把新创建的子分支order提交到远程仓库中(origin是远程仓库中主分支的名称,就是指master; -u 第一次向远程仓库中提交时要写 -u,之后再提交order时就不需要再写了; 这一步必须要在代码书写之前就先提交到远程仓库中;)
二、项目代码书写完毕之后:
- git add . ; – 把所有文件提交到暂存区;
- git commit -m ‘对此次提交内容的描述,必须要写的’ ; – 把所有暂存区的文件提交到本地;
- git status ; – 查看所有文件的状态;
- git push ; – 把order中的代码提交到远程仓库中(因为在书写代码之前已经向远程提交过一次order了, 所以这里就不需要写 -u 了, 直接 git push 即可);
- git checkout master ; – 切换到主分支上(这里是从order子分支切换到master主分支);
- git branch ; – 查看所有分支(目的: 检验上一步命令是否运行成功, 是否切换到主分支上);
- git merge order(要合并的子分支名称) ; – 合并分支(这里是把order子分支合并到master主分支上; 注意: 合并分支时, 都要先切换到主分支上, 再执行 git merge ‘要合并的子分支名称’ 命令);
- git checkout -d 分支名称; 删除本地分支;
注意:
1." .gitignore忽略文件"; 忽略的是不需要被git管理跟踪的文件;
2.如果一个文件夹下只有一个文件, 且这个文件被忽略了,那么默认这个文件夹就也会被忽略, 但有时的情况是:这个文件夹需要被git管理跟踪,那么就会在这个文件夹下新建一个文件作为:占位文件(.gitkeep), 这个占位文件只起占位的作用, 表示: 此文件夹需要被git管理跟踪;
其他常用git命令:
.gitignore //创建git忽略文件, # 表示:注释; 忽略没有被追踪的文件;
git init //初始化;
git status //查看文件详细状态报告;
git status -s //精简状态显示;
git add fileName //将文件添加到暂存区;
git commit -m 描述 //将暂存区的文件提交到本地存储;
git log //查看提交记录;
git log -数量 //查看最近提交的文件(具体几条);
git reflog //显示所有的历史记录;
git clear/git cls //清屏;
git checkout -- fileName //撤销对文件的修改; 危险性较高,慎重操作;
git add . //添加所有新增和修改的文件到暂存区;
git add -A //'-A'表示: 所有修改的文件;
git reset HEAD fileName //把指定文件从暂存区移出;
git reset HEAD . //把所有文件都从暂存区移出;
git commit -a -m "描述消息" //跳过暂存区,直接由工作区提交到本地存储;
git rm -f flieName //同时移出git仓库中 和 工作区中的文件;
git rm --cached fileName //只移出本地存储中的文件,保留工作区中的这个文件(未跟踪的);
git reset --hard id //回退到指定版本; (需要配合git reflog 使用; git status 一定要清空(clear));
git clone fileName(url) //克隆远程仓库地址;
git branch //查看分支列表;
git branch 分支名称 //创建一个新分支; 创建新分支是基于当前分支上进行建立的;
git checkout 分支名称 // 切换到指定分支; (分支只能自己切换,不会自己转变)
注意: 1.切换分支之前,分支最好是nothing(进行 git status 后,如果显示 nothing,再进行切换);
2.创建分支时,都基于主分支进行创建,所以要先切换到主分支在进行创建;
git checkout -b 分支名称 //创建新分支且切换到此分支上; (-b表示:创建一个新分支);
git restore . ; 恢复所有文件;
git rm 文件名 ; 删除暂存区的文件(之后执行 git commit -m 之后就可以彻底删除);
git remote/git remote -v ; 查看远程仓库;
git remote remove 远程地址; 删除远程仓库;
git remote add 远程仓库别名 远程仓库地址; 添加远程仓库;
git remite rename 旧名称 新名称 ; 修改远程仓库;