初始化一个本地库
git init
设置当前和全局(–global)用户名和邮箱
git config user.name "zhangsan"
git config user.email "123456@qq.com"
git config --global user.name "zhangsan"
git config --global user.email "123456@qq.com"
拉取其他git项目,切换git账号密码后,再次拉取本项目报错 remote: HTTP Basic: Access denied
git config --system --unset credential.helper
每次git都会输入账号密码
在git命令上输入以下指令后,然后输入一遍账号密码就ok了
git config --global credential.helper store
将本地文件test上传到远程仓库(将修改后的文件上传到远程仓库)
a. 将文件添加到暂存区(注:【git add .】是将test同级目录下的所有文件全部上传到服务器)
git add . test
b. 提交到本地仓库
git commit -m "提交的备注信息"
c. 指定远程服务仓库(一般这步可省略)
git remote add origin https://gitee.com/gavinlh/test.git
d. 提交到git远程仓库(注:把本地仓库push到master分支仓库里。第一次推送master分支时,加上了 –u参数,Git会将本地的master分支内容推送的远程新的master分支,还会把2个master分支关联起来,在以后的推送或者拉取时就可以简化操作。)
git push -u origin "远程分支名"
将服务器代码导出到本地
git clone https://gitee.com/gavinlh/test.git
拉取指定分支的服务器代码
git clone -b dev https://gitee.com/gavinlh/test.git
如何回退到上一版本
a. 版本回退
git reset --hard HEAD^ #回退到上一版本(HEAD表示当前版本,HEAD^表示上一版本,HEAD^^则表示上上版本)
git reset --hard 0b3a6dbf02c8d03969577cb7fe0e200cf8303c63 #回退到指定版本号的版本
git reset --hard HEAD~5 #回退到之前的第五版
b. 加 --hard 与不加 --hard 的区别:
有了参数–hard,直接把工作区的内容也修改了,不加–hard的时候只是操作了暂存区
c. 假如我们回退到某版本后,又想改回来怎么办?
git reflog #查看回退的版本号
$ git reset --hard c436678 #根据版本号进行回退修改
如何更新本地仓库
第一种方式:
a. 从远程仓库下载本地仓库中缺失的提交记录
git fetch origin master
b. 合并远程分支
git merge origin/master
第二种方式(一步到位):
git pull origin "远程分支名"
git如何撤销上次提交
git reset --hard HEAD^
git push origin master -f
其它一些指令
pwd #查看当前git的目录
git status #检查当前文件状态(是否修改、提交或未加入版本控制等)
git log #查看文件的历史变更记录
git log --pretty=oneline #查看文件的历史变更记录(只显示主要的内容,一行显示)
git diff a.txt #查看文件修改前和修改后的内容
cat a.txt #查看文件的内容
强制将本地代码合并到远程服务器
git push -f origin dev
下面是一张常用 git 指令表
git如何合并远程分支
1)、第一步:在本地新建一个与远程的分支B相同(要被合并的版本)的分支B;
git checkout -b B origin/B
该指令表示:创建一个本地分支B,并将远程分支B放到该分支里面去(本地分支与远程分支已关联)
2)、第二步:将远程代码pull到本地
git pull
3)、第三步:切换到你的分支A;
git checkout A
4)、第四步:合并分支A与B;
git merge B
该指令表示:当前所在分支与B进行合并。
④:如果有代码冲突,解决冲突,然后在进行推送;
git add 冲突文件路径(git status 可查看路径)
git commit -m'解决冲突'
5)、把本地的分支A同步到远程(假设对应的远程分支也是A)
git push A //如果本地分支A与远程分支A关联过 可直接PUSH
git push origin A //如果本地分支A与远程分支A未关联过 需要origin
在系统上禁止使用脚本解决方法
# 以管理员身份运行power shell
set-executionpolicy remotesigned
解决git每次拉取推送都需要输入账号密码的问题
git config --global credential.helper store
然后你会发现你的C:\Users\用户名xx.gitconfig**文件
撤销 add .
git reset HEAD
git如何创建远程分支
git checkout -b <branch_name>
git push -u origin <branch_name>
git 修改分支名称
git branch <新分支名> <旧分支名>
git push origin :<旧分支名> <新分支名>