Git学习笔记
1. 前言
最近手上在做的SDK项目,从SVN版本管理转到了GIT版本管理。所以,在学习使用GIT的同时做此总结,以便后续查看。
2. 常用命令
2.1 通用命令
- git clone git地址 #拉取代码#
- git pull #更新代码#
- git status #查看本地代码修改情况#
- git add 文件地址 #添加本地修改#
- git add -f 文件地址 #强制添加本地新增的文件#
- git rm 文件地址 #删除本地文件#
- git checkout . #本地所有修改的没有提交的,都返回到原来的状态#
- git clean -n #clean#
- git push 主机名 分支名:分支名
2.2 分支命令
- git branch #查看本地分支情况,*指向当前分支#
- git branch “分支名” #创建分支#
-
git branch -D 分支名 #删除分支#
- git checkout "分支名" #切换到指定分支#
- git commit -m #提交修改#
3. 基本操作
3.1 代码拉取
在本地目录上,使用 git clone 命令进行代码拉取。
1 git clone http://xxx.xxxx.xx.com/XXX/XXX.git
2.2 创建分支
## 创建 ios_setappid_anyposition 分支(分支名需要跟具体需求相关,比如 ios_setappid_anyposition)
git branch ios_setappid_anyposition
## 查看目前本地的分支情况
git branch
## 切换到 ios_setappid_anyposition 分支
git checkout ios_setappid_anyposition
## 查看目前本地的分支情况
git branch
可以看到已经创建了 ios_setappid_anyposition 分支,并且已经切换到了 ios_setappid_anyposition 分支。
3.3 修改代码
使用代码编辑器修改代码即可。
3.4 代码提交
只介绍通过命令的方式进行代码提交,包括 Android Studio、 Xcode 都集成了 git,使用起来更加方便。
## 查看本地 git 文件状态 git status ## 将修改的文件添加到 git 临时区域 git add <path> 或者 git add . (将本地所有文件添加) ## 提交修改的文件到本地仓库 git commit -m "提交信息" ## 将本地仓库的提交推送到远程仓库 git push <远程主机名> <本地分支名>:<远程分支名>
注意:如果执行中提示,git Please tell me who you are。接着在命令行中执行如下内容即可。
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"
## 注意 “ 前面是有空格的
## 输入完后再接着执行git commit 即可成功!
3.5 查看提交到远程仓库的信息
确认本地代码被正确提交
3.6 提交 Merge Request 即代码评审
在分支页面选择你的分支,点击 Merge Request。
在 Merge Request 页面编辑信息,其中Assign to
是该项目的 Master。
4. 常见问题
4.1 git pull 命令执行问题
问题描述
git pull后遇到报错“error: cannot lock ref 'a/b/c/d': 'a/b/c/d' exists; cannot create 'a/b/c/d'”
解决方案
网上查到了一种解决方案,但是解决不了我遇到的这个问题。
首先要删除引用,有多少删除多少:git update-ref -d a/b/c/d
然后在使用:git pull
最后通过如下两种方式的任意一种方式,即可解决此问题。
实在不行就使用:git pull origin master
或者简单粗暴强行git pull,执行git pull -p