git

1.gitBUS

版本控制

git init

这个操作是初始化一个版本仓库

git clone

克隆远端仓库到本地

git pull

从远程仓库把代码取下来,将其他人的代码提交的代码同步到本地。

git status

查看当前分支状态。

git add

把文件的改动增加到我们的新版本的缓存中(还没提交新版本)。

git commit

提交/增加一个新版本。

git push

将本地代码推送到远程仓库。

git checkout

切换分支

git branch

查看当前分支,git branch xx创建新的分支

git remote

查看当前的远程端

git merge

git merge develop合并分支到当前分支

git reset

git reset HEAD 以取消之前 git add 添加了但不希望包含在下一提交快照中的缓存

git rm

git rm file将文件从缓存区移除,同时硬盘里的对应文件也会删除。

说明

每次写代码前,先同步一下,你可以在Git Bash中输入:

git pull [远程仓库名] [分支名] #后面两个不写默认是origin master

也可以QtCreator的菜单-工具-Git-Remote Repository-Pull。

然后开始写,如果需要,你可以执行 git branch (branchname) 来创建分支, 使用 git checkout (branchname) 命令切换到该分支。

写完后要提交代码。工具-Git-Local Repository- commit...,然后输入一下这次提交的介绍。也可以在Git Bash 中输入

git add . # .代表当前目录下所有文件
git commit -m "提交说明"

接下来我们的代码需要同步给remote。工具-Git-Remote Repository-Push。或者命令行:

git push
git push -u origin master # 如果是第一次提交
git push origin develop #如果是提交分支

合并分支,如果产生了冲突:

你的文件里会有这种:

<<<<<<< HEAD
这里的内容是和你不一样的
=======
这是你本地的内容
>>>>>>> fix_readme

只要保留你认为需要的就好了,同时它标记用的符号也应该去掉

使用Git命名,返回代码到指定版本

git reset 是指将当前head的内容重置,不会留log信息。
git reset HEAD filename  从暂存区中移除文件
git reset --hard HEAD~3  会将最新的3次提交全部重置,就像没有提交过一样。
git reset --hard [commit哈希值](38679ed709fd0a3767b79b93d0fba5bb8dd235f8) 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
根据--soft --mixed --hard,会对working tree和index和HEAD进行重置:
git reset --mixed:此为默认方式,不带任何参数的git reset,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
例如:
我要彻底返回在上一次提交以前的版本。git reset --hrad HEAD~1
我要回到上一次提交的版本:git reset --hard
 

2.gitk

qt-creator ->工具 ->Git->git tools->gitk

选中所需reset的版本,单击右键,选择“Reset master branch to here”,在弹出的对话框中选择Hard,并且单击OK就完成了版本的还原。需要注意的是,选择Hard模式意味着在新版本上的一切修改都作废,所以要慎重处理。即还原到历史那个版本,两个版本之间的所有修改都作废【建议保存一个副本,重新在原来的代码上做修改】

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值