赞
踩
在工作中用git命令提交代码办公是非常常用的,所以掌握git的基本原理以及使用方法是非常的重要的,接下来本文章将简单介绍git的原理以及git的基本使用方法,以便能够更好的上手使用。
git:
一种管理文件的工具,是C/S模式的,一般都是在终端,往Github上提交。
Github:
相当于是一个Git的服务平台,我们可以使用其提供的服务。这里面的文件是按仓库来划分的,可以认为一个仓库就是一个文件夹。
使用基本流程:
一般提交代码就是先从工作区通过git命令提交到暂存区,然后再提交到本地仓库中,最后没问题了上传到远程仓库中。刚开始可以通过pull拉取远程仓库到本地,在本地仓库中有多个提交版本和对应的日志,可以通过日志ID来回退版本。
可以通过git version
命令来判断是否安装了git
如果没有安装可以使用sudo apt install git
命令来安装
注意:第一次使用需要,以后就不需要了,把邮箱和姓名替换成自己的就行了,实际用处就是在提交代码时能够知道是谁提交的,让别人能够找到你。
git config --global user.email "YourEmail"
git config --global user.name "YourName"
Your repositories
New
原因:
仓库可以公开看,但不能每个人都能上传代码到仓库中,并且git需要知道提交的远程仓库是哪一个,这个就需要ssh密钥来搞定了。
ssh-keygen -t rsa -C "YourEmail"
生成ssh密钥文件,然后其余按回车就行了,不用输入。cat ~/.ssh/id_rsa.pub
,查看自己的ssh key
ssh -T git@github.com
,出现如下即连接成功一般是创建一个文件夹,然后进去,输入命令git init
将当前文件夹变为可以通过git管理的仓库,这个文件夹里面的区域就是我们的工作区
,.git
里面存的是日志之类的东西。
一般都是先从远程仓库中把代码拉取到工作区,然后我们在本地对其进行修改,然后通过git命令上传到远程仓库中。
git clone ssh地址
就可以把远程仓库中的代码拉取到工作区当中可以直接在本地把该文件中的代码修改
git add filename
将文件暂存到缓存区
git commit -m "注释"
将暂存区的文件提交到本地仓库
可以用命令git status
查看暂存区
的情况
可以用命令:
git log
查看提交的版本记录
git reflog
查看操作日志
4.使用命令git push
将本地仓库的文件上传到远程仓库中
一般要是上传同一个文件会冲突的,有些文件git不知道怎么修改和合并,所以下一个人拉取文件时一般要修改文件一下,但只要文件名不一样就行了提交的时候。
这个跟上一个修改其实是一样的,熟悉一下命令:
git add filename
:存入暂存区
git commit -m "注释"
:提交到本地仓库
git push / git push origin 分支名
:push到远程仓库(因为测试只有一个分支,所以git push就够了)
git init//使该目录变成git管理的仓库 git add filename//添加文件到暂存区 git commit -m "注释"//将暂存区的文件提交到本地仓库中 git status//查看仓库状态 git log//查看提交的版本记录 git reflog//查看对仓库的操作日志 git diff [HEAD/HEAD^^... / 版本号]//查看当前工作区的代码与最后一次版本(或者前几个版本)的比较,仅git diff默认为最后一次提交的版本 git checkout filename//把当前版本库中最新的代码覆盖当前的,放弃对工作区代码的修改,可以回退版本再覆盖 git reset --hard HEAD^//回退版本,多个^代表回退几个版本 git reset --hard 版本号//这里也可以是版本号,用git log/reflog可以查看 git reset HEAD filename//从暂存区撤销 git rm filename 后git commit -m //先删除再把当前版本提交,就从版本库中删了,相当于提交了一份没有该文件的版本 git branch//查看分支 git branch 分支名//创建分支 git checkout 分支名//切换分支 git checkout -b 分支名//创建并切换到该分支 git branch -d 分支名//删除分支,不能删除当前所处分支,切换到其它分支再删除 git merge 分支名//合并某个分支到当前分支,合并时可能产生冲突,需要解决冲突,自己vim改代码就行了 git stash//保护现场,当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换 git stash list//列出所有保存的现场信息 ssh-keygen -t rsa -C "su@126.com"//生成通信密钥,生成的公钥在/home/stu/.ssh/下 //测试与github或者gitee(码云)有没有连通: ssh -T git@github.com//测试github 的命令 ssh -T git@gitee.com//测试gitee 也就是码云的命令 git clone 项目地址//克隆项目 //首先得把自己的仓库有东西,然后再拉取服务器最新的更新到本地,不然会提交失败 git pull origin 分支名//拉取远程服务器上的分支更新到本地,分支名不写默认master git push -u origin 分支名//提交分支到远程仓库,并跟踪分支 git push origin 分支名//提交分支到远程仓库,如果改同一个文件,提交后,然后git不知道用哪个,都用,还是都不用,还是分别用哪个,所以提交到仓库中,别人看的时候,需要解决冲突,自己改代码 ssh -T git@github.com //可以查看有没有联通 //然后就git clone 自己GitHub上的SSH,然后就正常输命令了 //git pull origin master //git add filename //git status git log git reflog //git commit -m "" //git push origin master
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。