Git使用总结

May you return with a young heart after years of fighting.
愿你出走半生,归来仍是少年。​​​

1.git下载与配置

Windows上Git安装访问网址https://git-for-windows.github.io/,下载完成后找到安装路径下的git-bash并打开。
配置身份:
git config --global user.name “Tom”
git config --global user.email “XXX@qq.com”
配置完成后用同样思维命令查看是否配置成功,只需要将名字和邮箱去掉即可。

2.创建代码仓库与命令操作

新建项目MyApp,进入到MyApp路径下,输入命令:
git init
这样就完成了代码仓库的创建。这时候在MyApp下生成一个隐藏的.git文件夹,该文件夹用来记录本地所有git操作。可通过ls-al命令查看,若要删除本地仓库,删除该文件夹即可。
添加本地文件到仓库:
git add 文件/文件夹(添加指定的文件或整个文件夹)
git add . (添加整个项目)
将添加的文件提交:
git commit -m "First commit."
注意:-m要添加描述信息(一定)

忽略文件
在项目的app下有个app/.gitignore文件,可以忽略添加的文件,如
/build
/src/test
/src/androidTest

查看add后修改的文件,不能查看commit后的状态
git status

查看修改的内容
git diff (查看所有修改的内容),若只看某个文件修改情况:git diff 文件路径。

撤销未添加的修改,恢复到原来代码,修改了代码还没有add的时候:
git checkout 文件(app/…/MainActivity.java)
**git checkout .**撤销所有修改

放弃本地所有修改、新增、删除文件和目录:
git checkout . && git clean -df

撤销添加后的修改,执行了add的时候:
git reset HEAD 文件路径(app/…/MainActivity.java)回到未添加的状态
再执行git check 文件路径 对修改撤销

查看提交记录
git log

撤销commit(执行了add和commit后)
git reset --soft HEAD^(恢复到add的状态)
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果进行了2次commit,想都撤回,可以使用HEAD~2

其他参数:
–mixed
意思是:不删除工作空间改动代码,撤销commit并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft
不删除工作空间改动代码,撤销commit,不撤销git add .

–hard
删除工作空间改动代码,撤销commit,撤销git add .
完成这个操作后,就恢复到了上一次的commit状态

撤销已经push的提交

  1. git log
  2. git reset --soft 43dc0de914173axxxxxx(撤销最近一次,要reset第二次的log id
  3. git push origin master --force(master为远端分支)
  4. git checkout . && git clean -df 删除本地修改
  5. git push 修改远端

对当前版本打Tag
1.git stash 缓存当前修改
2.git status 看一下是否没有改动(可省略)
3.git tag -a sss1.2.0-2021-04-13 -m “定版x.x.x” 打tag
4.git push origin sss1.2.0-2021-04-13 提交
5.git stash pop 恢复缓存

拉取远程代码时本地已经有改动,导致拉取失败
解决方法1:放弃本地修改
git reset --hard
git pull XXX

解决方法2:
1.git stash // 保存本地代码
2.git pull XXX //拉取别人代码
3.git stash pop // 恢复本地修改代码

如果本地代码和拉取新代码出现冲突,会出现如下标记:
其中<<<<<<< Updated upstream到=======之间的代码是你拉取的别人的代码,
=======到>>>>>>> Stashed changes是自己本次修改的代码。
做适当的删除即可。

另:
如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend

3.git创建新分支操作

查看当前版本有哪些分支
git branch -a

创建新的分支
git branch v1.0(分支名)

代码切换到指定分支
git checkout v1.0(或master主分支)

代码合并:v1.0修复的bug合并到master上
git checkout master(先切到master)
git merge v1.0(将v1.0分支代码合并到master)
(合并冲突相关问题待补充)

删除指定分支
git branch -D v1.0

创建远程新分支

查看所有分支
git branch -a

创建本地test分支并把本地test分支推送到远程
git checkout -b test
git push --set-upstream origin test

4.与远程版本库协作

将远程版本库的代码下载到本地:
git clone https://github.com/sunshineboy/MyApp.git

在下载的本地的代码上修改,提交。再推送到远程
git push origin master (将本地修改的代码同步到远程版本库的master分支上)
其中,origin是远程版本库的Git地址,master是远程版本库的分支。

从远程拉取最新代码:
git fetch origin master (同步到本地,没合到任何分支,而是存在一个origin/master分支)
git diff origin/master (查看修改了哪些内容)
git merge origin/master (将修改合到主分支上)
以上可以用一条指令执行:
git pull origin master(直接拉取新代码并合并到本地分支上)

4.代码托管到Github上

首先注册Github账号,这里不再详述。

进入Github个人主页,点击Start a project创建版本库
在这里插入图片描述
输入版本库名字,选择Android项目,使用Apache License 2.0作为开源协议,点击Create repository创建。
在这里插入图片描述
接下来创建项目01addviewtest,开打git-base进入项目目录,将远程版本克隆到本地,地址可在Github找到,如下图:
在这里插入图片描述
执行 git clone https://github.com/sunshineboy1/MyApp.git下载仓库代码到本地。
在这里插入图片描述
进入MyApp查看目录有一个隐藏的.git,记录了git的所有操作。将MyApp下的文件复制到01addviewtest下(一定不要漏掉.git文件夹)。回退到上一层,git执行代码的add、commit操作。

在这里插入图片描述
commit提交代码还没同步到仓库,这时候再把代码推送到仓库:
git push origin master(注:这时候需要输入Github的账号和密码)
在这里插入图片描述
这时候刷新仓库代码,可以看到本地代码已经推送到仓库了。
在这里插入图片描述

5.克隆远程代码

1.进入要下载的目标路径
2.执行命令
git clone 远程代码地址 (默认当前本地路径)
或者指定下载路径:git clone 远程代码地址 本地路径

附:
Mac终端显示git分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值