文章目录
一、git的安装
1.1 安装
- www.git-scm.com
一路next
- 配置git
cmd中:
git – version //查看git版本
git config --global user.name “xx”//配置用户名
git config --global user.email “xx@xx”//配置邮箱
其他命令:
git config --list
git cofig --l
1.2 创建仓库
在git中,项目就是仓库
1.2.1 手动创建文件夹,git init
idea中输入:terminal,打开
- 打开要创建git的文件夹
cd test1
cd … //返回上一层文件夹(注意空格)
git init
- git init
1.2.2 自动创建文件夹和仓库
- git init test2
- 列出当前文件夹的所有子目
ls -la
1.2.3 克隆git文件
git clone + 地址
1.3 git的基本命令
cd .> a.txt新建文件夹
- git status
查看仓库的状态 - git add.
将所有文件添加进暂存区,绿色表示已经成功 - git config -m "描述信息‘
提交文件到本地仓库 - git log
查看历史版本 - git add -A
将所有修改的文件,add到缓存区 - git add -u
修改和删除的文件,但是不包括新建文件的文件,add到缓存区
修改文件后,查看git 状态
jie
modeify: a.tx
- git checkout 地址
回到文件历史版本 - git checkout -
回退到之前所在的节点 - git log -p
把修改的文件内容显示到后面,+表示添加了一些东西,-表示删除了一些定西
-删除了一些东西
+添加了一些东西
二、idea的git中文乱码问题
2.1 解决方法
- file–>setting–>tools–>terminal
shell path改成git安装目录bin目录下bash.exe的路径 - 修改bash.bashrc文件
在git安装目录–>ect–>bash.bashrc文件最后加入:
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
- 重启IDEA
2.2 git三种状态
- mofifyed
修改- staged
已暂存- commited
已提交
2.3 添加版本号命令
- git log --oneline
历史版本一行显示 - git tag -a v1
添加标签 - git tag -a 版本号 -m ‘描述’ 地址
给以前的历史文件添加版本标记 - git show 标签
git show vo.3
- git checkout 标签名
回退到标签所在的提交 - git log --oneline --all
显示所有记录,包括主线和分支的记录
2.4 创建分支
- git branch 分支名
创建新的分支 - git checkout 分支名
转到分支名所代表的分支 - git checkout master
回到主线 - git log --oneline --all --graph
将所有的记录图示化
2.5 合并分支
- git chekout -b 分支名
创建并跳转到分支 - git merge 分支名
合并分支
将冲突的地方手动删除,再git add. 和 git commit -m ‘注释’
三、远程仓库
3.1 创建远程仓库
- git remote add origin 远程仓库地址
- git remote
列出所有远程仓库 - git remote -v
列出所有远程仓库和其详细信息
比如:
//下载地址
origin https://github.com/xxxxxxxxxgit (fetch)
//上传地址
origin https://github.com/xxxxxxxxxgit (push)
3.2 上传代码
- git push -u 远程名 分支名
上传代码
3.3 下载代码
- git clone https://github.com/githubybx/gtihub
从默认仓库地址拷贝代码
3.4 多人使用远程仓库
- git clone https://github.com/githubybx/gtihub 参数
就将代码拷贝到当前目录的子目录下 - git pull
获取远程更新,仓库中更新的也会在自己对应的目录下更新 - 同时提交会起冲突
将代码手动加入,解决冲突,在上传
3.5 pull 与fetch&&merge等价
- git pull
- git fetch && git merge
fetch把最新的数据放在已提交里,不会更改编辑器里正在修改的代码,checkout或更改,pull命令包含了上述两种命令的功能。