Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。通过git,我们可以实现软件开发中高效的版本管理、代码同步和集成开发。
git的工作流程
最简单的流程如下:
- 建立远端的代码仓库,这个远端仓库一般是在代码托管平台,比如github,或者bitbucket等。如果代码仓库有代码,可以不用建。
- 使用git拉取远端的代码到本地,在本地进行修改后,使用git提交到远端的代码仓库。
- git在此过程中可以实现代码开发协同,版本回溯,提交管理,代码集成等,从而高效的管理我们的固件开发。
git的部署和配置
在Ubuntu下部署
#安装相关的依赖库
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
$ apt-get install git
#查看版本
$ git --version
git version 1.8.1.2
Windows 平台上安装
可以在git的官网,直接下载GUI 的客户端,直接可视化的使用git.
https://git-scm.com/download/win
git的部署本质就是搭建git的环境,无论是用命令行,还是图形化的GUI工具,还是VScode上的插件,都是一种工具的外衣。
git命令
首次拉取代码
#初始化 testrepo作为GIT仓库
git init testrepo
#将git 仓库的代码拉取到本地的testrepo文件夹
git clone https://github.com/MetaGPT testrepo #这个网址就是你远端代码仓库的地址
远端分支的代码更新到本地
git pull
git pull origin <remote branch>
git pull origin <remote branch>:<local branch>
提交代码到远端
git staus #查看本地文件的状态
git add app/hello.c #添加修改过的文件到暂存区
git commit -m "this is my commit" #添加commit ,也就是你本次提交的备注
git push #将本地分支的代码提交到你本地代码绑定的远端的分支
#如果想将本地的代码提交到别的远端分支 使用下面这个语句
git push origin <local branch>:<remote branch>
暂存本地的修改
git stash //将本地的修改暂存住,回退到最近的commit
git stash list //查看你每次的暂存
git stash pop //默认将最近的暂存恢复到本地的代码
git stash show
git stash pop stash@{1} //恢复指定的某次暂存到本地代码
撤销远端的某次的commit
一、git reset
git reset :恢复到某次提交。
git reset --soft:本次提交之后的修改会回退到暂存区。不删除本地工作空间的改动代码 ,撤销远端的commit,不撤销git add . 【用于只想删除该提交本身而不影响本地更改】
git reset --hard:本次提交之后的更改都会被删除(删除工作空间的改动代码,撤销commit且撤销add),慎用。
git reset --mixed:此次提交之后的修改会被退回到工作区。不删除工作区改动的代码,撤销commit,撤销git add 暂存区】
常见的问题解决方法
强制的更新远端的代码
git push-f origin <remote branch>
某次的stash消失
git fsck --lost-found //查看最近的一些删除的提交
git show xxx //一个个看下提交的hash是不是你丢失的提交记录
git merge xxx//找到丢失再merge就行
参考链接:
git官网:git,包括简介,客户端下载,参考手册,交流社区等。