Linux--git

目录

初始化:

查看:

拉取与上传:

删除与恢复:

回滚代码仓库:git reset –hard

1.回滚到指定历史版本

将文件撤销回到最近一次修改的状态:git checkout -- file

git创建分支:git branch、git checkout


1、掌握日常使用命令

git clone

git log

git pull

git push

git rebse

git commit

git checkout

git branch

git diff

git merge

2、跟踪远程分支

3、在gerrit平台上创建个人分支,并本地跟踪、push代码

注:使用app/Client/SDKStage作为练习项目

2020.06.21

——————————————————————————————————

1、掌握日常使用命令

初始化:

配置git环境:git config --global

创建本地空仓库:git init

新建文件添加到本地仓库:git add、git commit -m

改写提交:git commit --amend

git clone 克隆

git commit 将暂存区内容提交到仓库

查看:

git log 查看历史提交日志

git branch -a查看分支

git reflog 查看提交历史

git log filename 查看单个文件可回滚版本

git status 查看提交之后文件是否做了改动

git diff 查看不同分支的文件差异

git remote 查看仓库信息

拉取与上传:

git pull 下载远程代码并合并

一、远端跟踪分支不同

1、Git fetch:Git fetch能够直接更改远端跟踪分支。

2、git pull:git pull无法直接对远程跟踪分支操作,我们必须先切回本地分支然后创建一个新的commit提交。

二、拉取不同

1、Git fetch:Git fetch会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作。

2、git pull:git pull是从远程获取最新版本并merge到本地,会自动合并或修改当前的工作。

三、commitID不同

1、Git fetch:使用Git fetch更新代码,本地的库中master的commitID不变,还是等于1。

2、git pull:使用git pull更新代码,本地的库中master的commitID发生改变,变成了2。

git push 上传远程代码并合并

删除与恢复:

git rm 删除文件

git rm、git reset、git checkout git rm后恢复文件

git reset –hard

——————————————————————————————————————————————————

回滚代码仓库:git reset –hard

reset参数是重置命令

--hard是重置代码仓库版本

有三种模式

--soft 、--mixed以及--hard是三个恢复等级。

使用--soft就仅仅将头指针恢复,已经add的暂存区以及工作空间的所有东西都不变。

如果使用--mixed,就将头恢复掉,已经add的暂存区也会丢失掉,工作空间的代码什么的是不变的。

如果使用--hard,那么一切就全都恢复了,头变,aad的暂存区消失,代码什么的也恢复到以前状态。

1.回滚到指定历史版本

先使用git log查看历史版本

git log

在使用git reset --hard命令回滚

git reset --hard 要回滚id

回滚到上一次提交的版本

git reset --hard HEAD^

回滚到前三个版本

git reset --hard HEAD~3

后面的~3,代表以当前版本为基数,回滚多少次。HEAD~3代表回滚master前三个版本

将文件撤销回到最近一次修改的状态:git checkout -- file

英文对应:

A:未修改

AM:修改

Untracked:未提交

modified:新文件,但未提交

将所有改动文件添加到缓存区:git add --all、git add .

git add –all:会记录删除操作

git add .:不会记录删除操作

——————————————————————————————————————

分支:

git checkout 更改/切换分支

git创建分支:git branch、git checkout

git创建分支:git branchgit checkout

使用git checkout -b参数来创建一个分支,创建完成分支后会自动切换过去

git checkout -b dev

git checkout -b等价于

git branch devgit checkout dev

git branch 如果后面跟着名字则会创建分支,但不会切换

git checkout 后面如果是分支名称则切换过去

git切换分支:git checkout

git合并分支:git merge

git rebse 合并分支,不会产生额外的commit,缺点:如果合并的分支中存在多个commit,则需要重复处理多个分支。

自己单机的时候,拉公共分支最新代码的时候使用rebase,也就是git pull -r或git pull –rebase;

大部分公司其实会禁用rebase不管是拉代码还是push代码统一都使用merge,虽然会多出无意义的一条提交记录“Merge … to …”,但至少能清楚地知道主线上谁合了的代码以及他们合代码的时间先后顺序

git查看分支:git branch -a

git删除本地分支:git branch -D

git删除远程分支:git push origin --delete

git diff git查看不同分支的文件差异

git branch 创建分支

git merge 合并分支

————————————————————————————————————————————————

创建新文件夹:cd odc-code

创建新文件:touch test.c

使用git命令把文件提交到缓存区:git add test.c

添加到本地仓库:git commit – m ‘ add new file “\test.c\” ’ 注释信息要简洁

重写上一次提交的信息:git commit –amend

进入后按i可进行编辑,修改完成后按下ctrl+o键,在按下回车,就会提示已写入,用#是注释,不会被提交,git会自动过滤
以上是查看更高过后的文件修改目录和文件对比

以上是提交代码操作,git add 文件路径,或者直接提交所有更改过的文件

也可以进行提交撤回操作

git add app/

git reset app/src/main/res_meizu/values-zh-rCN/strings.xml

  GNU nano 4.8                                                                  /home/meizu/vcc-code/Download/.git/COMMIT_EDITMSG                                                                  已更改  

[系统应用][下载管理]#1133826 修改CN中删字繁体字为简体字

git push origin HEAD:refs/for/meizu/yangshiyu/bugfix_0628

git commit --amend

修改合并上一条log

必须要git commit 之后才能push

步骤:

——————————————————————————————

cd odc-code/packages/providers/DownloadProvider/

cd vcc-code/Download/DownloadProviderUi/

git branch查看分支

git status

git diff

git difftool

git add app/或者文件地址

git commit

或者修改上一条log并合并git commit --amend

git push origin HEAD:refs/for/meizu/yangshiyu/bugfix_0628

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值