git操作整理

工作流程

git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:
工作流程图
在这里插入图片描述

详细步骤:

克隆版本库,获取主干代码

git clone https://gitee.com/xxx/xxx

获取主干最新代码

git checkout master
git pull

新建分支——本地工作代码修改

  1. 新建一个开发分支work
git checkout -b work
  1. 去自己的工作分支
git checkout work
  1. 工作,修改代码
    ……

  2. 提交工作分支的修改

git commit -a
  1. 回到主分支并代码
git checkout master
  1. 获取远程最新的修改,此时不会产生冲突
 git pull
  1. 回到工作分支
 git checkout work
  1. 用rebase合并主干的修改,如果有冲突在此时解决
 git rebase master
  1. 回到主分支
 git checkout master
  1. 合并工作分支的修改,此时不会产生冲突。
git merge work
  1. 提交到远程主干
git push

这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。

** 注:**对于不需要进行版本管理的代码和文件,如编译中间过程文件等添加.gitignore文件忽略。

补充

配置账号

查看账号配置信息

git config –list

设置用户名密码

git config –-global user.name ‘xxx’
git config --global user.email ‘邮箱’

基础操作

初始化git仓库

git init

查看文件的状态(判断是否在XX区)

git status

将所需要添加的文件添加至暂存区

git add xxx(.代表所有)

将暂存区的文件提交至git仓库

git commit -m ‘描述’

删除git里的文件

# 从git中删除文件(暂存区 工作区)
git rm xxx

历史快照

查看历史提交记录

git log

在这里插入图片描述

回退本地版本

git reset --hard 9d85ad9a

强制回退远程仓库到当前版本

git push –f

撤销

撤销修改

如果修改了文件,但是没有git add

git status

可以查看所有的改动:

修改:modified
删除:deleted
添加:Untracked
想要放弃修改可以使用checkout命令
取消 仓库所有 修改、删除

git checkout -f

此时你修改的文件和删除的文件都会被恢复,但是你新添加的文件不会被删除

放弃 指定文件 修改、删除

git checkout filename

放弃 指定文件夹 修改、删除

git checkout directory

此时指定目录下修改的文件和删除的文件都会被恢复,但是你新添加的文件不会被删除

撤销git add 操作

git status  # 查看有哪些文件被添加
git reset HEAD #如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD fileName #就是对某个文件进行撤销了

撤销git commit 操作

  • 不删除工作空间改动代码,撤销commit,并且撤销git add .
git reset --mixed HEAD^ 或 git reset HEAD^
  • 不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --soft HEAD^
  • 删除工作空间改动代码,撤销commit,撤销git add .
git reset --hard HEAD^
  • 只是想改一下注释
git commit –amend  #此时会进入默认vim编辑器,修改注释完毕后保存就好了。

分支操作

查看所在分支

git branch

移动到所在分支

git checkout 分支名

创建新的分支

git branch 分支名

创建新分支并移动到该分支

git checkout -b 分支名

删除分支

git branch -d 分支名

合并分支到当前分支

git merge 待合并的分支名

查看远程仓库的分支

git branch –r

git push 推送代码到指定分支上,第一次需要使用

git push --set-upstream origin 分支名

从指定分支拉取更新

git pull origin 分支名

查看本地分支对应远程分支

git branch –vv

在这里插入图片描述

设置本地分支对应的远程分支

git branch --set-upstream-to=origin/branchName

在这里插入图片描述

创建分支时指定对应的远程分支

git checkout -b [branch] [remotename]/[branch]
#新建本地分支 dev 来跟踪远程分支 dev
git checkout –b dev origin/dev

添加远程地址

#首先与远程仓库建立连接git remote add origin XX你要推送的Coding(Github地址)XX.git
git remote add origin git@gitlab.com/bupt317/newarms.git

参考

https://blog.csdn.net/wh_19910525/article/details/7554489
https://blog.csdn.net/antony9118/article/details/52524873
https://www.cnblogs.com/lfxiao/p/9378763.html
https://www.cnblogs.com/feynman61/p/9005252.html
https://www.cnblogs.com/lyh523329053/p/11530667.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值