Git
1.导入:
VCS:(Version Control System)版本控制系统------可以记录我们修改的历史,也方便协同开发。
-
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,我们在使用时,首先要从中央服务器下载最新的版本,然后开发;开发完后,再把自己开发的代码提交到中央服务器。 缺点:服务器单点故障。
-
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:
本地仓库:开发者自己电脑上的git仓库。
远程仓库:远程服务器上的git仓库。
Git相关概念:
- 版本库: .git的隐藏文件就是版本库(也就是本地仓库);
- 工作目录:包含.git文件夹的目录(也就是.git文件夹下面的区域),用于存放开发的代码;
- 暂存区: 在.git文件夹中的index(stage)文件就是暂存区;
区别:都是从远程仓库上拉取东西
clone:克隆整个版本库下来。
pull:若更新一个分支(branch),则拉取一个分支下来即可。
2. Git常用命令:
1.查看用户信息
- git config --list
2.在本地初始化git仓库(就是为了创建一个.git文件夹)
- git init
3.从远程仓库克隆(这时本地已经和远程仓库关联起来)
- git clone url(就是远程仓库地址)
4.查看文件状态
-
git status
-
git status -s --查看文件状态(使输出信息更加简洁)
5.本地仓库相关:
加入暂存区:
- 单个加入暂存区(未跟踪->已跟踪) ----------------- git add 文件名
- 全部加入暂存区 ---------------------------------------- git add .[或者*]
- 从暂存区移出来(已跟踪->未跟踪)------------------ git reset HEAD 文件名
- 将暂存区的文件提交到本地仓库-------------------- git commit -m “日志信息”
- 不用加入暂存区,可直接提交 (前提是必须先跟踪了)— git commit -a -m “xxx”
删除:
- 会将工作区的文件删除,并自动加入暂存区,不需要手动去加入,直接提交即可-------------------------------------------------------- git rm 文件名
忽略:
- 使用命令 touch .gitignore在工作区创建一个文件,里面是想要忽略的内容。
忽略内容一般如下:
.idea/
*.iml
out
gen
target/
*.class
*.log
.gitignore
日志:
- 查看日志(按q退出查看列表)------------------------------- git log
6.远程仓库相关(远程仓库的代号(一般为origin))
- 获取远程仓库的代号--------------------------------------- git remote
- 查看当前配置的远程仓库,可以看到抓取或推送的url-------- git remote -v
- 查看更详细的信息----------------------------------------------- git remote show origin
- 添加远程仓库--------------------------------------------- git remote add origin url地址
- 移除本地仓库(只是移除关联关系)----------------- git remote rm 仓库代号
7.从远程仓库下载到本地仓库(拉下来)
1)使用git fetch抓取(不会自动合并到工作区,需手动合并)
- git fetch [origin master]
- git merge origin/master
2)使用git pull拉取(自动合并,输入命令后,文件目录下直接显示文件)
- git pull origin master
- git pull origin master --allow-unrelated-histories (若本地的工作区有文件,则需加后缀)
8.从本地仓库下载到远程仓库(推上去)
- git push origin master
9.分支
查看分支信息:(分支前面的*表示当前处于哪个分支)
- 查看本地分支---------------------------------------- git branch
- 查看远程分支---------------------------------------- git branch -r
- 查看所有的本地和远程分支---------------------- git branch -a
创建分支:
- git branch 分支名
切换分支:
- git checkout 分支名
把本地的分支推送到远程仓库:
- git push origin 分支名称
合并分支:
-
git merge 要合并的分支名称
注意:合并冲突问题 ----- 若两个不同的分支对同一个文件进行修改(也就是两个人改了同一个文件),在合并提交时会产生冲突。先打开文件,删除类似于》》》符号的东西,然后再提交。(在开发阶段,合并完成后,记得把修改后的push到远程仓库)。
删除本地分支:
-
git branch -d 要删除的分支名称
注意:若本地分支的代码修改并提交到本地仓库后,没有合并或者push到远程的分支上,想要坚持删除分支。(需使用-D)
-
git branch -D 要删除的分支名称(一般不建议这样做)
删除远程分支:
-
git push origin -d 要删除的远程分支名称
注意:在自己的分支下不能删除自己