git最常用操作

git最常用操作

1.初始化仓库

# 在文件夹下执行,形成工作区
git init

2、配置操作git的用户信息

1)当前仓库:局部
"""
>: git config user.name '用户名'
	-- 用户名
>: git config user.email '用户邮箱'
	-- 用户邮箱
	
注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
"""
2)所有仓库:全局
"""
>: git config --global user.name '用户名'
>: git config --global user.email '用户邮箱'

注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
"""

3、将本地文件提交到缓冲区(暂存区)

# 在文件价下执行
git add .  # 将所有文件缓冲区
git add 文件名  # 添加指定文件

4、提交到本地仓库(归档区)

提交暂存区内容到版本库

# git commit -m "版本描述信息"

5、添加远程仓库

1)先在github或者gitee上创建仓库

2)本地添加远程仓库源(以gitee为例)

git remote add origin git@gitee.com:class-bob/test_git.git

6、推送本地归档区的文件到远程

git push -u origin master # 此时本地和远程都只有一个分支即master分支,操作会弹出输入密码,也可添加公钥以ssh的方式进行

<<<<<<< HEAD

7、git的回滚操作

1)查看仓库状态
"""
# 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
>: git status  
	-- 查看仓库状态
>: git status -s  
	-- 查看仓库状态的简约显示
"""
2)撤销工作区操作:改、删
"""
>: git checkout .
	-- 撤销所有暂存区的提交
>: git checkout 文件名
	-- 撤销某一文件的暂存区提交
"""
3)撤销暂存区提交:add的逆运算
"""
>: git reset HEAD .
	-- 撤销所有暂存区的提交
>: git reset 文件名
	-- 撤销某一文件的暂存区提交
"""
4)撤销版本库提交:commit的逆运算
"""
回滚暂存区已经提交到版本库的操作:
    查看历史版本:
        >: git log
        >: git reflog
    查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
    回滚到指定版本:三种颗粒度
    1、--hard 从存档区直接回滚所有,即将暂存区和工作区都回滚到上次commit的版本,力度最大
        回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~1
        回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
        回滚到指定版本号的版本:
            >: git reset --hard 版本号
            >: eg: git reset --hard 35cb292
   2、--mixed 存档区和暂存区回滚到上一版本,工作区处于未add的红色状态
   git reset --mixed 版本号
   3、--soft 仅仅存档区回滚,暂存区还处于add后的绿色状态
   回滚上一版本
   git reset --soft HEAD^
   回滚到指定版本号的版本:
            >: git reset --soft 版本号
"""

8、复杂回滚操作 git revert

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FIVu3mKX-1585574540926)(/Users/bobwang/Library/Application Support/typora-user-images/image-20200330193013063.png)]

操作:

git revert <改动2的版本号> # 会出现一个编辑页面,需要写新的提交描述,也可以不写,直接 :wq 退出,采用默认的修改描述,即下图

结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TIfeEW4I-1585574540932)(/Users/bobwang/Library/Application Support/typora-user-images/image-20200330193304502.png)]

9、创建切换分支

1)查看分支

git branch -v # 查看当前有哪些分支

2)创建并切换分支

git checkout -b dev

3)删除分支

git branch -d dev

10、合并分支

# 先切换到master分支,保证切换前分支已经将修改提交到了存档区
git checkout master 
# 合并dev分支
git merge dev
# 合并成功后删除dev分支
git branch -d dev

<<<<<<< HEAD

11、解决冲突

# 假如b2,b1分支对同一份代码做了修改,b1先与master分支合并分支

模拟操作

1、(在b1上进行)

# 切换到b1
git checkout b1
# 提交修改
git add .
git commit -m'b1进行操作'

(同时b2也在做操作)

# 切换到b1
git checkout b2
# 提交修改
git add .
git commit -m'b2进行操作'

2、b1先进行跟主干的合并

git merge b1 # 此时在master上

3、b2后跟主干进行合并

git checkout master 
git merge b2 # 出现冲突

4、解决冲突

# 先切换回b2
git checkout b2
# 将主干分支合并到b2,次步将b1分支代码合并到b2也可,毕竟b1和master完全一样
gie merge master
# 修改冲突代码
# 再次提交
git add .
git commit -m '解决b2合并冲突'
# 切换回master
git checkout master
# 再次合并
git merge b2

12、当远程版本落后本地版本时,git pull

git pull 
# 相当于
git fetch
git merge origin/master

13、合并远程分支

如果远程有分支dev本地没有,

1)先用git fetch 
2)在本地的创建对应的分支,git checkout -b dev
3)git pull
4)本地修改后直接上传远程dev git push origin dev
5)本地将dev分支的代码merge到master
6)将本地推送到远程master git push origin master 或者 git push

如果远程没有分支dev,本地有

1)确认本地所在的分支dev
2)push命令:git push --set-upstream origin dev

14、git merge不同的branch

参考连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值