1.GIT基本使用
1.linux环境下安装GIT
sudo apt-get install git
2.全局账号配置
git config --global user.name "yourname"
git config --global user.email "yourmail@gmail.com"
3.查看当前用户配置情况
git config --global --list
4.本地仓库初始化
git init
5.创建本地分支
git branch dev-xxx
6.切换分支
git checkout dev-xxx
7.查看当前仓库配置情况
git config --local --list
8.查看当前仓库地址
git remote show origin
9.将远程master仓库代码同步到本地
git fetch origin master
2.远程仓库拉取代码
git clone https://github.com/baidaqiniao/test.git
3.上传代码到远程仓库
1.添加本地文件,如果是单个文件.换成文件名,多个文件以空格分割
git add .
2.将add的文件添加到仓库
git commit -m "注释语句"
3.将本地仓库和远程仓库关联起来
git remote add origin https://github.com/baidaqiniao/test.git
4.将代码push到远程仓库
git push -u origin master
5.远程仓库错误重新配置
git remote rm origin
git remote add origin https://github.com/test.git
git push -u origin master
6.代码提交到远程仓库其它分支,非master
git cheackout feat
git merge master
切换到远程分支
git add .
git commit -m "xxx"
git push
4.拉取远程所有分支到本地
1.通配符快速拉取所有远程分支到本地
git clone xxx
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
5.拉取远程,覆盖本地代码
- git fetch 只是下载远程的库的内容,不做任何的合并
git reset 把HEAD指向刚刚下载的最新的版本
git fetch --all
git reset --hard origin/master
git pull --all
2.覆盖某个分支
git fetch --all
git reset --hard origin/dev (这里dev要修改为对应的分支名)
git pull origin dev
6.循环下载git子目录项目
1.当你git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:
git clone --recursive https://github.com/lvgl/lv_port_linux_frame_buffer.git
2.如果你想下载之后,在补全,进仓库路径执行
git submodule update --init --recursive
7.remote地址修改
1.查看本地remote地址
git remote -v
2.删除remote的origin
git remote remove origin
3.添加remote
git remote add origin http://192.168.1.5:2008/FACEID/face.git/
8.远程代码修改后,更新本地代码到远程
1.创建本地分支,平时修改在test分支进行
git branch test
git checkout test
2.将本地修改同步到本地fetch
git add --all //提交所有更新文件,
git commit -m “注释内容说明”
3.将远程分支同步到本地master分支
git checkout master //切换到master分支
git pull //把远端代码更新抓取到本地
4.将master分支合并到我们的分支,无conflicts可以直接合并,有冲突需要手动处理
git checkout test //切换到test分支
git merge master // 把master分支合并到test分支上
git status //查看冲突文件
5.提交本地修改到远程仓库
git add --all
git commit -m “注释内容”
git push -u origin master
9.撤销commit
1.撤销本地分支最近一次提交
git reset --soft origin/master
2.撤销远程分支的某个提交
git log
git revert a8eb4b9ac6d8fb66bdd56355ba5607ddd1ab8d29
git push -u origin master
10.利用栈缓存本地修改
- 此用法适用于多人同时开发,其他开发者与你修改同一个文件,pull后无法自动merge的场景
1.将本地修改还原成上次拉取代码的状态
git stash
2.拉取库上最新代码
git pull origin master
3.还原本地修改
git stash apply
4.提交本地修改
git add .
git commit -m "xxxxx"
git push -u origin master
11.切换到某一个特定分支
1.拉取所有远程分支到本地
git fetch --all
2.查看所有分支
git branch -a
3.创建本地分支并切换到此分支,同时与远程仓库建立联系,xxx最好与远程仓库同名
git checkout -b xxx origin/xxx
4.实例如下
12.git使用小技巧
1.当本地文件权限被修改后,也会被检测到如下:
如果不想提交此修改,执行如下命令即可:
git config --add core.filemode false
2.当修改 .gitignore想让其马上生效,可执行如下命令:
git rm -r --cached .
git add .
3.当拉取远程代码,显示访问受限,可能是ssl校验问题,执行如下命令即可:
git config --global http.sslverify false
git config --global https.sslverify false