使用前的准备
一、进入.ssh文件夹。
cd ~/.ssh
//若没有.ssh文件夹,则使用如下命令创建:
mkdir ~/.ssh
2、手动设置email和用户名则指令如下:
git config --global user.name "myname"
git config --global user.email "test@gmail.com"
3 生成shh公钥
ssh-keygen
//或者
ssh-key -t rsa -C "coiggahou@foxmail.com"
//然后查看生成的公钥并添加到shh key
cat ~/.ssh/id_rsa.pub
一. 覆盖本地
1. 项目仓库clone 到本地
1.执行:git clone url
PS:url 是指远程仓库的url 链接,每一个远程项目都拥有一个远程链接。
2. 本地同步远程服务器
每次提交远程仓库之前首先要取得服务器的最新文件:$ git pull
二. 上传
1. 上传前的准备
1.首先查看哪些文件被改动:$ git status
modified: src/page/**/**.file
2. 然后 $ git add src/page/**/**.file 回车提交暂存区
PS:如果文件过多可以提交所有文件: $ git add -A
3. 接着附上提交内容格式如下:
git commit -m "コミット日:2017/11/11
コミット者:UserName
コミット内容: Messages "
4. 最后将暂存区的文件提交到远程服务器:$ git push origin master
三. 覆盖本地时冲突
1.编辑冲突
1.首先先把本地的代码保存起来:$ git stash
这样本地的所有修改就都被暂时存储起来 。
用git stash list可以看到保存的信息: 其中stash@{0}就是刚才保存的标记。
2. 之后就可从服务器向本地pull代码:$ git pull
3. 然后回复暂存的内容:$ git stash pop stash@{0}
4. 解决文件冲突的部分:执行完步骤3时,当系统提示以下错误的时候:
Auto-merging 路径/文件.后缀
CONFLICT (content): Merge conflict in 路径/文件.后缀
该文件为本地与服务器所冲突的文件,打开文件后会看见以下内容:
<<<<<<<Updated upstream
int i, j;
=======
int i, j;
=======
<<<<<<<Stashed changes
其中Updated upstream 和=====之间的内容就是pull下来的内容 ;====和stashed changes之间的内容就是本地修改的内容。解决完成之后,就可以正常的提交了。
2.退回上次Commit点
git reset --hard FETCH_HEAD
四. 其他操作
1、查看config配置信息
>>>config 配置指令
git config
>>>config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system-》global-》local 底层配置会覆盖顶层配置 分别使用--system/global/local 可以定位到配置文件
>>>查看系统config
git config --system --list
>>>查看当前用户(global)配置
git config --global --list
>>>查看当前仓库配置信息
git config --local --list
2、回滚到指定版本
//回滚到某个版本
git reset --hard 版本号
// 版本号可以通过git log 查看历史记录
//强制提交
git push -f origin master
git diff 版本号1[:filemane] 版本号2
4、git从已有分支创建新分支
1. 切换到被copy的分支(master),并且从远端拉取最新版本
$git checkout master
$git pull
2. 从当前分支拉copy开发分支
$git checkout -b dev
3. 把新建的分支push到远端
$git push origin dev
4. 拉取远端分支
$git pull
5. 关联
$git branch --set-upstream-to=origin/dev
6. 再次拉取 验证
$git pull