桌面右键git bash here全局配置用户名和邮箱地址
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
也可通过修改已拉仓库的.git目录下的config文件添加:
[user]
name = sunrenqiang
email = sunrenqiang@agree.com.cn
或者通过eclipse工具中进行操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hISFpGMx-1611044058810)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20200922100120527.png)]
创建仓库
mkdir filename //创建目录
cd filename //切换工作路径
git init //在目录中创建新的Git库
ls -a//显示所有的git子目录
提交文件
git status //查看项目的当前状态(-s 获得简短结果输出)
git add file //添加文件(将快照内容写入缓存区)
git add file1 file2 file3
git add . //添加本目录下修改的文件到提交区
git commit //将缓存区内容添加到仓库中(-m "注释"提供提交注释;-a跳过缓存)
版本回退
git log
git log --prettu=oneline //精简版的git log
git reset --hard 提交ID //回退到此ID的版本
!!!注意这个时候,你git log所查到的内容是你过去版本的当前日志,如果想回退到未来的那个版本得用指令查看ID
git reflog
//在执行reset
git reset --hard 提交ID
克隆仓库
git clone ssh://sunrenqiang@192.168.180.150:29418/ab4x
git clone -b 分支名 ssh://sunrenqiang@192.168.180.150:29418/ab4x(指定分支)
//基于https
git clone https://github.com/sunrenqiang/shop.git //从github拉项目(https协议)
!!!如果出现403错误代表你没有权限需要在config文件下的[remote "orign"]中的url地址添加
https://用户名:密码@github.com/sunrenqiang/shop.git
//基于ssh,需要先上传公钥
ssh-keygen -t rsa -C "邮箱"
git clone git@github.com.sunrenqiang/shop.git
git分支
git branch //查看分支
git branch 分支名 //创建分支
git checkout 分支名 //切换分支(git checkout -b 分支名 //创建并切换)
git branch -d 分支名 //删除分支
git merge 被合并的分支名 //将该分支合并到当前分支
!!!你分支修改的内容可合并到master当中去
git pull //拉取代码
git push //推代码
git reset HEAD //取消之前git add添加,但不希望包含下一提交快照中的缓存
git rm file //删除文件
git mv file file2 //用于移动或重命名一个文件、目录、软连接
git暂存
git stash save "本次暂存的标识名字" //暂存
git stash list //显示stash的列表
git stash apply @{index} //恢复指定的stash进度到工作区和暂存区
如果因为reset hard导致数据丢失
1.git reflog
2.找到丢失之前的id git reset --hard _
git中操作文件保存退出esc退出编辑模式,caps两个大写的字母Z即可保存退出
代码提交
git fetch
git status
git rebase origin/master
git stash pop (保存已修改的代码;apply还原工作区)
git add .
git commit -m “提交注释”
git push
git视图箭头的表示
向上箭头表示本地有提交(commit),但是还没有推(push)到远程代码库中,旁边的数字表示本地commit的次数;
向下箭头表示你拉(fetch)下来的更新,需要合并(merge)到你的本地代码库,旁边的数字表示更新的次数;
abadon提交需要注意的问题
当你abadon一次提交的时候,一定要回到本地reset到废弃提交的上一次提交,完成后边的提交
多次更新尚未提交,保留工作区内容
featch rebase-stash 保留工作区更新部分,然后apply这个状态之前工作区的内容就会还原
提交不上代码拒绝连接
git config文件添加如下配置;仓库图标会变绿
[gerrit]
set到废弃提交的上一次提交,完成后边的提交
多次更新尚未提交,保留工作区内容
featch rebase-stash 保留工作区更新部分,然后apply这个状态之前工作区的内容就会还原
提交不上代码拒绝连接
git config文件添加如下配置;仓库图标会变绿
[gerrit]
createchangeid = true