git 使用记录笔记
一、常用的git命令
获取固定分支的代码
git clone -b 分支名 仓库地址
1
版本回退 git reset
方式一 git reset --hard 1094a(commit id号)
方式二 git reset --hard HEAD(上一个版本就是HEAD,上上一个版本就是HEAD^^)
2
查看分支/切换分支 git branch / git checkout 分支名
撤销修改 git checkout – 文件名
git checkout – readme.txt
注:–很重要,没有–,就变成了“切换到另一个分支”的命令
删除文件 git rm
通常我们添加文件的时候使用的是git add 但是我们如果从工作区删除了文件的话,需要使用git rm将暂存区的文件删除,才能使用git commit提交
创建分支
git checkout -b dev (创建并切换到dev分支)
git branch -d feature1 (删除feature1分支)
== 下面这两步
git branch dev (git branch是查看分支 git branch dev 创建一个dev分支)
git checkout dev (切换到dev分支)
合并分支
git merge dev
用于合并指定分支到当前分支(这个比较重要)比如你想把dev分支合并到master分支上, 你就需要先切换到master分支然后执行git merge dev
解决冲突
在进行合并分支的时候,会发现这样的情况, 所在的分支和要合并的分支,都有了一样的修改
出现这种情况,我们需要打开冲突的文件,进行编辑最终的版本,然后执行git add和 git commit 提交.
二、常见问题解决
由于.gitignore 文件配置不正确很有可能导致某些不需要的目录上传到 git 远程仓库上了,这样会导致每个开发者提交的时候这些文件每次都会不同。
出现一些自动生成的文件,修改.gitignore不起作用。 比如Android studio工程项目中的 .idea文件
git rm -rf --cached .idea
解决idea这种自动生成文件污染远程仓库问题
1、 删除本地的idea
git rm -rf --cached .idea
你也可以使用手动删除所有的idea文件,然后 git rm -r 删除
2、提交并推送到远程仓库
git commit -m “delete idea folder”
git push origin master
3、修改忽略文件并推送在远程仓库
git add .gitignore
git commit -m “update gitignore”
git push origin master
此时远程仓库和本地仓库的代码都是一样的。 通知其他伙伴 pull 就可以。
将远程分支的代码合并到本地仓库
1、将两个分支合并
git merge master //将master分支合并到当前分支
2、将某一个分支上的修改合并到当前分支
//将master分支上的water-link/build.gradle修改合并到当前分支上
git checkout --patch master water-link/build.gradle