1 git的下载和安装
1.1 git的下载
1.2 安装
1.2.1 windows
一直点击下一步,安装完成后,在开始菜单找到Git->Git Bash 出现类似命令行窗口,安装成功。
2 git的本地使用
2.1 本地账户和邮箱配置
git config --global user.name "Your Name" #配置自己的用户名,git用来识别每个人的身份
git config --global user.email "email@example.com" #配置自己邮箱,万一用户有重名的,使用邮箱来区别身份
# --global是全局身份配置,配置一次在其他地方也使用这个配置。要在仓库中单独配置的话,在仓库中单独配置一次,且不带--global即可
2.2本地操作的一些命令
- git init #用来初始化一个本地的文件夹(也称工作区)作为一个仓库
- git add filename #将filename从工作区存放到暂存区
- git commit -m"提交的信息说明" #将暂存区的所有文件都提交到仓库中
- git log --pretty=oneline #查看在这次提价之前的提交记录
- git reflog #查看所有的提交记录
- git reset --hard commit_id #版本穿梭到指定的commit_id版本中
|这里是引用| | |-----|--| | | |
3 git的远程仓库连接
连接远程仓库:
注册github gitee账号
创建SSH Key 使用命令 ssh-keygen -t rsa -C "youremail@example.com"`
#常用操作:
##本地操作
###基本操作:
1-初始化:在某个地方新建一个文件夹,里面存放的是要托管的文件 git init
初始化文件夹
2-增加:git add <filename>
3-提交:git commit -m"说明信息"
###查看修改:
1-`git status 查看当前的状态
###版本回退:
1- git log --pretty=oneline
查看提交日志
2-git reflog
查看每次提交的commit_id
3-git reset --hard commit_id
去到某个版本
###撤销修改:
1-改动了工作区内容,但是还没有增加到暂存区,就是还没执行 git add filename
使用 git checkout --<filename>
即可放弃工作区的修改
2-改动了工作区内容,同时添加到暂存区,就是执行了 git add filename:
第一步:`git reset HEAD <filename>`撤销暂存区的修改,再使用 `git checkout --<filename>`撤销工作区的修改
3-做了改动,也提交了,使用版本回退 :
`git reset --hard commit_id` 去到某个版本
###删除:
1-git rm filename
删除文件
2- 确实要删除文件那就提交删除操作 git commit -m"说明信息"
3- 如果删错了,想找回来,git checkout --<filename>
##远程操作
###关联本地仓库和远程仓库
1-在远程创建一个新的仓库,并输入基本信息,选择不带readme.md 文件
2-关联本地和远程仓库 git remote add github(gitee) git@github(gitee).com:XX/XX.git
###解除本地仓库和远程仓库的关联
git remote rm github/gitee
###推送本地更该到远程
3-推送本地到远程 如果是第一次 git push -u github/gitee master
以后推送使用 git push github/gitee master
(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会
把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和
远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
###拉取远程更改到本地
如果在远程端做了修改,想在本地同步远程的修改:git pull github/gitee master
###从远程库克隆下载
1-使用命令:git clone git@github/gitee.com:XX/XX.git
2-或者直接从仓库选择下载
###查看关联的远程仓库
git remote -v
查看本地仓库关联了几个远程仓库,远程仓库的名字是不能重复的
###删除远程仓库,不删除本地
1-删除useless 文件
git rm --cached useless.log
git commit -m "remove file from remote repository"
git push
此时github上已经不存在了
2-删除远程useless 文件夹
删除文件夹要使用-r 参数
git rm --cached -r useless
git commit -m "remove directory from remote repository"
git push
###添加.gitignore文件
打开 git bash 输入touch gitignore
//建立了一个忽略的文件
在这个文件中添加想要忽略的文件加上后缀名
忽略文件夹:直接写文件夹的名+/
分支管理:
1:基本操作
1-创建分支并切换分支 git checkout -b <branchname>
2-创建分支 git branch <branchname>
3-切换分支 git checkout <branchname>
4-查看分支 git branch
5-合并分支到当前的分支 git merge <branchname>
6-删除分支 git branch -d <branchname>
当在一个分支上操作完成后,仍然需要 add commit 操作之后才能合并
2:合并冲突
发生在在两个以上的分支中都做了改动并且提交了修改,合并的时候就会产生冲突,需要手动改动一下,在在主分支上add commit
7-git log --graph --pretty=oneline --abbrev-commit
查看分支合并情况
标签管理:
1:基本操作
1-git tag<tagname>
新建一个标签,默认为HEAD
,也可以指定commit_id
2-git tag
用来查看所有标签
3-在某一次的提交上打上标签 git tag version_id commit_id
4-git show version_id
5-git tag -a<tagname> -m<说明信息> commit_id
为某次提交打标签并且加上说明文字
6-删除标签 git gat -d <tagname>
2:标签推送到远程
git push github/gitee version_id
推送指定的commit_id 到远程
git push github/gitee --tags
删除远程标签 :
先在本地删除 `git tag -d version_id`
再在远程删除 `git push github/gitee :refs/tags/version_id`
###解决显示中文乱码
git config --global core.quotepath false
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8