bash
#获取git版本
git --version
#在本地文件夹下初始化一个新的git仓库,创建成功后ls -al可以看到.git的隐藏仓库
git init
#1.暂存操作:工作区->暂存区
#暂存指定文件 git add 文件名
git add 123.txt
#暂存所有改动的文件
git add .
#查看暂存区文件列表
git ls-files
#查看暂存区和工作区状态
git status
#清空暂存区(工作区不变)
git reset
#2.提交操作:暂存区->本地仓库
#暂存足够多之后可以提交,提交时必须写描述
git commit -m "提交描述"
#查看提交日志(回滚会消失)
git log
#查看提交日志(优化版)
git log --pretty=oneline --all --graph --abbrev-commit
#commit回滚
git reset --hard 提交的id(用git log查询id)
#git log加强版,可以查看所有提交日志(回滚也不会消失)
git reflog
#暂存区覆盖工作区的内容(工作区修改的内容不想要,想恢复之前暂存的内容)
git restore
#首次获取代码
git clone 仓库地址
#后续拉取代码
git pull 仓库地址
#从远程库抓取到本地仓库,但不进行合并操作
git fetch
#合并
git merge
分支操作:
bash
#查看当前所在分支
git branch
#创建新的分支: git branch 新分支名 (但仍停留在当前分支)
git branch dev
#安全删除分支(删除分支前需要进行各种检查): git branch -d 分支名
#不能删除当前所在的分支,得先切换到其他分支再执行删除
git branch -d dev
#强制删除分支: git branch -D 分支名
git branch -D dev
#切换分支 git checkout 分支名
git checkout dev01
#新建并切换分支(例如新建dev01并切换到dev01分支)
git checkout -b dev01
#合并分支,比如当前在master分支,想将dev01分支合并入master分支,执行
git merge dev01
解决冲突
bash
提示需要解决冲突后,修改冲突代码,然后重新提交一次
git add .
#不需要写comment
git commit
#进入vim
:wq保存
远程仓库
推送代码
bash
#在本地仓库配置添加一个远程仓库origin(默认远程仓库就是这个名字)
#(一个本地仓库可以对应多个远程仓库)
git remote add origin 远程仓库的地址
git remote add origin git@10.12.3.163:my_group1/my_project1.git
#如果执行没有报错代表配置成功
#查看远程仓库
git remote
#推送代码到远程仓库 git push 远程名称 本地分支名:远程分支名
git push origin master:master
#简化版本
git push origin master
#强制用本地的覆盖远程的加-f
git push -f origin master
# --set-upstream 推送到远端的同时建立起与远端分支的关联联系
#第一次push带绑定关系后,以后只需要git push就行
git push --set-upstream origin master:master
#查看绑定关系
git branch -vv
下载代码
git clone
bash
#从远程仓库第一次拉取代码
#可以在后面跟一个目录名,会保存在该目录,如果不加,默认就是项目名称创建文件夹,如my_project1
git clone git@10.12.3.163:my_group1/my_project1.git
#结束后会在当前目录生成my_project1的文件夹
后续继续拉取最新代码
直接执行git pull,不用带参数,拉取+合并到本地
bash
git pull
git fetch + git merge方法
bash
#抓取到本地,但不会合并
git fetch
#再手动合并origin/master到本地
git merge origin/master
合并到本地的时候也会产生冲突,解决冲突的方式与之前相同
1.安装git
2.设置
安装过后首要任务就是设置用户名和邮箱
bash
#git config --global user.name 你的用户名
git config --global user.name "tom"
#git config --global user.email 你的邮箱
git config --global user.email "hello@example.com"
#设置完后检查是否设置成功
git config --global user.name
git config --global user.email
3.为常用指令配置别名
bash
#新建配置文件
touch .bashrc
#编辑配置文件
vim .bashrc
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
alias ll='ls -al'
#使配置生效
source .bashrc
4.新建忽略配置
在目录下创建.gitignore文件,在文件中定义不需要上传的
bash
touch .gitignore
#定义规则
vim .gitignore
#规则
#1.可以直接写文件名,文件会被自动忽略,不会commit
123.txt
#2.也可以写通配符,如所有以.doc结尾的文档
*.doc
5.设置SSH登录(可选)
bash
#在本机生成密钥对
ssh-keygen -t rsa
#不断回车,如果公钥已存在,会自动覆盖
#获取公钥
cat ~/.ssh/id_rsa.pub
#密钥备份
mv ~/.ssh ~/.ssh.bak