1.Git的特点
1)直接记录快照,而非差异比较;
2)近乎所有操作都是本地执行;
3)Git保证完整性:Git 中所有的数据在存储前都计算校验和,然后以校验和来引用。
4)Git一般只添加数据;
5)Git有三种状态:已提交(committed)、已修改(modified)、已暂存(staged)。
2.Git的工作流程
1)在工作区中修改文件。
2)将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
3)提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。
如果 Git 目录中保存着特定版本的文件,就属于 已提交 状态。 如果文件已修改并放入暂存区,就属于 已暂存 状态。 如果自上次检出后,作了修改但还没有放到暂存区域,就是 已修改 状态。
3.第一次使用Git前的配置
1)配置用户信息:安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
$ git config --global user.name "you name" //用户名
$ git config --global user.email "xxxxxx@qq.com" //邮件地址,这里我输入的qq邮箱格式
注意:如果使用了 --global
选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global
选项的命令来配置。
2)你可以通过以下命令查看所有的配置以及它们所在的文件:
$ git config --list --show-origin
而 git config --list 只会查看配置信息,而不会显示配置所在的文件。
获取Git创库
1)将尚未进行版本控制的本地目录转换为Git创库;
2)从其它服务器克隆一个已经存在的Git创库;(这里我使用的是gitee)
一、将本地目录转换为Git仓库的相关步骤
1.在gitee.com创建一个创库:
2.在工作目录下打开Git Bash,然后输入命令git init初始化新版本库:
该命令将创建一个名为 .git
的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。
2.使用如下命令添加远程仓库:git remote add <shortname>(远程仓库别名) <url> 远程仓库地址:即git remote add origin https://gitee.com/goutaotao/test.git
3.然后使用命令git pull --rebase <远程仓库别名> <本地仓库分支>合并到当前本地仓库中
git pull --rebase origin master
然后会添加如下一系列文件到本地目录中:
其中,.gitignore文件,会把要忽略文件和文件夹的名称都添加进去,比如一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。
4.在完成项目开发后,会新增加很多项目文件,这时,我们使用命令git status 查看创库的状态:
5.使用如下命令添加这些文件到暂存区中:
(1)添加单个文件:git add 文件名;
(2)添加所有某个类型文件(如所有txt文件):git add *.txt;
(3)添加所有文件 git add . ;
这里演示我使用的是git add . 一次添加所有文件到暂存区中:
此时我们可以再次使用git status 查看创库的状态
可以发现,文件已经处于暂存状态了。
6.使用如下命令把暂存区中的文件添加到本地仓库:
(1)git commit 此时会启动你选中的文本编辑器来输入提交说明,默认是vim ,我的是默认的可以选择其他的文本编辑器,比如notePad++等
(2)git commit -m "提交的说明信息";
这里我使用的命令是git commit -m "提交的说明信息",相对来说更简单:
注意,此时只是将项目提交的了本地仓库,还并没有提交到远程仓库中
7.使用命令 git push origin 本地分支名:远程仓库的分支名 ;将项目从本地仓库推送到远程仓库中:
这里我使用的是 git push origin master: master
这里就表示已经将项目从本地仓库推送到远程仓库中了,现在我们就可以在远程仓库中查看到提交的项目文件了。
二、从远程仓库克隆一个已经存在的Git创库
1.使用命令 git clone <url>(远程仓库地址)克隆远程仓库
注意:第一次访问远程服务器时,即第一次使用GIT时,要求输入GITEE的账号和密码, 一定不要输入错误。如果输入错误,只能从Windows系统的 ”凭据管理器“中,去找到GIT对应的凭证记录,把它删除。这样才可以在下一次使用GIT时,重新输入账号和密码。
2.然后使用命令 cd 项目目录名进入当前你clone的项目目录下:
即:cd test2
然后可以使用git status查看仓库的状态
接下来的步骤就和第一种方法中,5、6、7步骤一样的。
3.新增加项目文件后使用git add . 将所有文件添加到暂存区中;
4.然后使用命令git commit -m "提交描述信息"把暂存区中的文件添加到本地仓库;
5.最后使用命令git push origin master:master 把本地的master分支推送到远程仓库的master分支中。
Git常用操作命令
1.分支操作(branch)相关命令
查看本地分支:git branch
查看远程分支:git branch -r
创建本地分支:git branch <name> 需要注意的是:新分支创建后不会自动切换到当前新分支
切换分支:git checkout <name>
创建一个新分支并切换到当前新分支:git checkout -b <name>
合并分支:git merge <name> 将名字为name的分支与当前分支合并
删除分支:git branch -d <name> -d只能删除已经参与了合并的分支,对于未合并的分支是无法删除的。 git branch -D <name> 删除分支,未合并的分支也能删除。
重命名分支:git branch -m <branchname> <newname> 不会覆盖已存在的同名分支
git branch -M <branchname> <newname> 会覆盖已存在的同名分支
创建远程分支(将本地分支push 到远程):git push origin <name> -- origin为远程分支别名
删除远程分支:git push origin --delete <name> -----name为远程分支名
2.查看状态
当前状态:git status
历史记录:git log或 gitk ,其中gitk有三种形式
gitk | 查看当前分支历史记录 |
git <branchname> | 查看某分支历史记录 |
gi-all | 查看所有分支历史记录 |
每个分支最后的提交:git branch -v
3.远程仓库的相关命令
克隆仓库:git clone <url>远程仓库地址
查看远程仓库名称和地址:git remote -v
添加远程仓库:git remote add <name>远程仓库别名 <url>远程仓库地址
删除远程仓库:git remote rm <name>name指远程仓库别名
修改远程仓库:git remote set-url --push <name> <新的url>
拉取远程仓库: git pull [remoteName] [localBranchName]
推送远程仓库: git push [remoteName] [localBranchName]
拉取远程仓库作为本地某分支的名字:git pull --rebase 远程仓库名 远程仓库分支名:本地分支名
推送本地分支到远程仓库某分支下:git push 远程仓库名 本地分支名:远程仓库分支名