首页 > 代码库 > git的基础介绍和使用

git的基础介绍和使用

git工作原理

git的工作原理还是比较简单的,当我们创建了本地代码仓库后,会在本地代码仓库的根目录中生成一个.git的隐藏文件。

.git为一个文件目录,又叫做版本库。在本地代码仓库文件夹中,除.git目录之外的所有与.git同级的目录及其子目录都叫做工作区。

工作区(Working Directory):仓库文件夹里除.git目录以外的内容版本库(Repository):.git目录,用于存储记录版本信息    暂缓区(stage)    分支(master):git自动创建的第一个分支         HEAD指针:用于指向当前分支
git add和git commit的原理git add :把文件修改或者新添加的文件添加到暂存区git commit :把暂存区的所有内容提交到当前分支

下图就可以解释git add 和 git commit的原理:

技术分享

 

git常用的命令

0、git init 初始化1、git add filename.txt  添加要往远程传的文件到一个临时列表2、git commit -m "xxx"  # 说明为啥上传3、git push origin master  # 上传4、git clone https://github.com/triaquae/Weibo  # 克隆远程的项目5、git status  查看修改结果6、git log  查看修改过几次6.1、git reflog  查看修改过后所有历史操作7、git log --pretty=oneline  查看修改过的所有版本8、git reset --hard 加版本  回滚到哪个版本9、git reset --hard head^  回滚到上个版本10、git reset --hard head^^  回滚到上上(回滚到上两个)个版本11、git reset HEAD filename.txt  撤回提交到暂存区的操作12、git checkout --filename.txt  撤销工作区操作(可以多个文件)13、git rm filename.txt  删除暂存区14、git checkout -b "dev"  创建分支(引号里是分支名)15、git push origin xxx  提交到分支库(xxx表示分支名)16、git branch  查看分支16.1、git checkout dev  切换到分支库17、git merge dev  合并分支库到主库(dev表示分支库)18、git pull  拉远程库的文件19、git stash  缓存工作区的内容20、git stash list  查看暂存区的内容21、git stash apply  把暂存区的内容恢复到工作区22、git stash pop  把暂存区的内容恢复到工作区并且把暂存区的删除23、版本回退:git reset --hard HEAD : 回退到当前的版本git reset --hard HEAD^ :  回退到上一个版本git reset --hard HEAD^^ : 回退到上上个版本git reset --hard HEAD~100 : 回退到前100版本git reset --hard 版本号(前5位)

我们修改或者新添加的文件起初是处于工作区,通过git add命令可以把工作区的文件移动到版本库中的暂缓区(stage)。

处在暂缓区(stage)的代码可以通过git commit -m “提交的注释” 提交到版本库中的分支(master)。

处在分支(master)中的代码可以通过git push命令push到共享版本库。

注意:只有分支中的文件才可以push到共享版本库。

初始化共享版本库

文件夹作为共享版本库

1.创建共享版本库文件夹,然后终端进入该文件夹下执行以下命令创建一个空的共享版本库git init --bare2.项目经理将共享版本库的内容先下载下来,命令后面的地址即为共享版本库所在服务器的地址+路径git clone 地址3.添加需要忽略的文件touch .gitignore去github上搜索.gitignore->Objective-C,把Objective-C中的内容粘贴到创建的.gitignore文件中(或者直接把github中的Objective-C文件下载到该目录下)。然后执行以下命令git add .gitignoregit commit -m “添加了需要忽略的文件”4.项目经理初始化项目git commit -m “初始化项目”—>提交到本地代码仓库5.将项目push远程仓库中git push origin6.当源代码管理是使用git,并且在Xcode进行多人开发的操作注意:当使用git,项目中用到了静态库就不需要通过命令行进行添加

 git版本备份

1.1.0版本开发完成,之后对1.0版本进行备份git tag -a weibo1.0 -m “这个是1.0版本” : 给某一个版本打上标签(weibo1.0是标签名称)git tag : 查看所有的标签2.需要将1.0版本的标签,push到服务器git push origin weibo1.03.继续开发2.0版本4.发现1.0版本有bug,从标签里面clone 1.0版本,从标签创建一个fixbug分支,在分支中修复buggit clone 共享版本库git checkout weibo1.0(标签的名称)git checkout -b weibo1.1fixbug(分支名称)5.修复后的版本上传AppStore/将1.0fixbug进行备份/将1.0fixbug版本和2.0版本进行合并git tag -a weibo1.1 -m “这个是修复了1.0版本bug的1.1版本”git taggit push origin weibo1.1将子分支中代码合并到主分支,pull—>weibo1.1fixbug—>push master—>其它同事更新6.删除分支git branch -r(r是远程仓库的意思,这个命令可以查看远程仓库中的分支)git branch -r -d 分支名称

基本步骤命令

1)touch README.md文件是关于工程代码的介绍,类似与使用说明书2)git init  初始化一个本地的 git仓库,生成隐藏的.git目录(隐藏的.git目录可使用ls -aF命令可以查看到)3)git add  README.md  把README.md文件添加到仓库中4)git commit -m "first commit"  执行提交说明,在Gitz中这个属于强制性的5)git remote add origin https://github.com/XFZLDXF/TEST.git   添加本地仓库origin和指定远程仓库地址6)git push origin master  推送本地仓库到远程指定的master分支上

到这基本的git使用已经差不多了,暂时也就总结这些后续会更新补充...

 

git的基础介绍和使用