git配置远程推送及基本命令

创建一个版本库

git init

git add 文件名

git commit –m “说明信息”

git log 查看版本(commit 完后才能看到)

git log --pretty=online

git log --graph --pretty=oneline   

git  reflog   查看所有分支的所有操作记录 

git status 查看文件状态

 

版本回退到某一个版本:

HEAD(当前版本) HEAD^  HEAD~1(上一个版本)

git reset --hard HEAD^ 

 

恢复到历史版本:

git reset --hard 版本号

 

关闭终端后看不到版本号时

git reflog 查看历史操作记录

 

工作区和暂存区

工作区: git 管理的目录,

 

 
 


   版本库(.git)其中最重要的就是称为stage(或者叫index)的暂存区

 

查看当前工作区     git status

git管理的文件修改,它只会提交暂存区的修改来创建版本

 

撤销修改

(丢弃工作区的改动(文件git commit 后才能对文件管理))

git checkout -- 文件名

 

 

(丢弃暂存区的改动)

git reset HEAD 文件名    取消暂存

后使用 git checkout -- 文件名

(提交到版本库)

恢复版本 git reset --hard HEAD~num

 

对比工作区和某个版本中文件的不同

使用:git diff HEAD -- 文件名

--- 代表HEAD当前版本

+++代表 工作区的文件


无加减的表示两个文件都有的内容

 

对比两个版本间文件的不同

git diff HEAD HEAD^ -- 文件名

 

 

删除文件: 只能恢复提交到暂存区过的文件(git 记录暂存区的操作,刚新建的文件git 还没记录操作需要add操作git才能跟踪文件)

 (1) 删除工作区 rm 文件名    恢复 git checkout – 文件名

(2)   删除文件提交到暂存区 恢复

① git reset HEAD 文件名    恢复到工作区

②git checkout -- 文件名     恢复文件

 

分支

创建分支  git branch 分支名

创建并进入分支   git branch –b 分支名

切换分支  git checkout 分支名

合并到当前分支  git merg 分支名

删除分支 git branch –d 分支名

git log –graph –pretty=online 查看分支结构

 

解决合并冲突

 编辑冲突文件修改 ->  git add 冲突文件 -> git commit –m “提交说明信息”

git分支管理策略(merg 默认快速合并)

通常,合并分支时,如果可能,git会用fast forward模式,但是有些快速合并并不能成功而且合并时没有冲突,这个时候合并之后并做一次新的提交。

 

mater 和 分支都有提交版本 ,但修改的不是同一文件,merg 合并时会合并提交一个版本。

 禁止快速合并 git merge –no-ff –m “提示信息’” 分支名

(箭头理解成分支圆圈理解成版本库)

下图为master和dev分支都进行了提交,合并时应该禁止快速合并

 

bug 分支

git stash

切换到bug所在的分支,并创建并切换到一个临时的分支,修复bug,修复完bug之后切换到bug分支,并合并分支使用 --no-ff 模式 ,删除临时分支,切换回工作分支

 

git stash pop

 

 

使用gitHub

 

创建ssh

git config --global  --list  查看配置

如未配置,则执行以下命令进行配置:

git config --global  user.name "这里换上你的用户名"

git config --global user.email "这里换上你的邮箱"

然后执行以下命令生成秘钥:

ssh-keygen -t rsa -C "这里换上你的邮箱"

文件保存在C:/user/当前用户/.ssh

C:/user/当前用户/.gitconfig (用户名及邮箱)

 

推送分支 git push origin 分支名

 

将本地分支跟踪服务分支  git branch –set-upstream=orgin/远程分支名  本地分支名

commit 后 使用 git status 查看与远程分支的差异

 

拉取远程分支代码 git pull orgin 分支名

 

 

关联到远程仓库

git remote add origin 远程仓库地址

将远程仓库与本地仓库同步合并

git pull --rebase origin master

把本地仓库代码内容推送到远程仓库

git push -u origin master

 

撤销修改

撤销文件在工作区的修改:

 git checkout -- 文件名

 

 撤销文件在缓存区的修改:

  git reset 文件名          # 撤销指定文件的git add操作,即在缓存区的修改

  git reset                # 撤销之前所有的git add操作,即在缓存区的修改

注意:

1git push -u origin master报错如下:

$ git push -u origin master

To gitee.com:g/My.git             

! [rejected]        master -> master (non-fast-forward)

error: 无法推送一些引用到 'git@gitee.com:g/M.git'

提示:更新被拒绝,因为推送的一个分支的最新提交落后于其对应的远程分支。

提示:检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见

提示:'git push --help' 中的 'Note about fast-forwards' 小节。

解决办法:

执行:git push -u origin master -f   以及   git push origin master

 

初始化本地文件件,下载远程仓库中代码\

1.新建文件夹进入 git init 

2.关联远程仓库地址 git remote add orgin 远程仓库地址

3.下载远程仓库代码到本地 git pull

提示问题

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=orgin/<branch> master

解决:

 git pull --rebase
git pull orgin master
 


 

 

 

 

git pull 显示Already up to date  

1、git rebase HEAD;

2、git checkout .

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值