git 使用记录笔记
一、常用的git命令
-
获取固定分支的代码
git clone -b 分支名 仓库地址
-
版本回退 git reset
方式一 git reset --hard 1094a(commit id号)
方式二 git reset --hard HEAD^(上一个版本就是HEAD^,上上一个版本就是HEAD^^)
- 查看分支/切换分支 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