git版本控制工具的使用(1)。本地离线与远程配置,连接
为了使用。
git init git status git add . git config --global user.email "1872040489@qq.com" git config --global user.name "Mr.bai" git commit -m "initial property" git remote add origin https://code.aliyun.com/1872040489/openwrt-shell-web-and-others.git git remote -v git add . git commit -m "initialize property" git push -u origin master
感谢:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
讲解的很清晰,内容很好。
windows中安装git软件的地址:https://git-scm.com/downloads
创建账号、邮箱
git config --global user.name "Your Name" git config --global user.email "email@example.com"
--global
参数表示:这台机器上所有的Git仓库都会使用这个配置
也可以对某个仓库指定不同的用户名和Email地址。
建一个文件夹作为本地仓库
初始化文件夹。并生成.git的隐藏文件夹:
git init
可多次添加文件
git add file_name
工作区文件放入stage中,可以多次执行添加多文件
提交已经添加的文件到本地
git commit -m "instruction"
将对应已经add的文件状态,提交到master或者分支。-m为添加本次提交说明。
查看状态
git status
如果修改了文件,而没有进行add和commit,则提示Changes not staged for commit,并显示已经修改的文件。
通过diff命令可以查看到本地已经修改的文件和已经提交的文件的差异。
如果使用add命令添加了文件却没有提交,则显示Changes to be committed,并显示准备提交的文件。
如果新建了文件,并没有通过add命令添加到stage,则显示Untracked files,并显示对应文件。
查看修改差异
git diff filename
查看提交日志
git log查看提交日志 git log --pretty=oneline单行显示查看
版本回退
回退上个版本
git reset --hard HEAD^
git reset --hard HEAD~1
HEAD表示当前库中版本,上一个版本为HEAD^,上上一个版本为HEAD^^,往上100个版本可以写成HEAD~100
把暂存区的修改回退到工作区
git reset --hard HEAD
当文件已经add到stage,则通过上述命令撤销,将stage中的版本回退到工作区。但是此时文件内容仍然和库中可能不一致。
以下命令可以撤销更改到版本库中版本,使得工作区和当前版本库中一致。
git checkout -- file
版本前进
版本定位到指定序列号,用于版本前进。
git reset --hard xxxxx(序列号)
序列号在版本前进的过程中,需要指定。但是该序列号已经在git log中不存在。
序列号通过当前窗口未关闭时,根据历史命令获取,或者通过relog命令获取。
获取输入过的历史命令
git relog
查看之前的日志,找到序列号。便于回退版本
撤销更改到版本库中版本
git checkout -- file 丢弃工作区所做的修改
--很重要,没有--,就变成了“切换到另一个分支”的命令。
把该文件在工作区的修改全部撤销,包括工作区删除的文件,可以重新从版本库中获取。
当该文件自修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态;
当该文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,该文件回到最近一次git commit或git add时的状态。
删除文件
工作区删除文件也需要提交到版本库。删除以后,可以通过rm命令添加到stage中,然后commit到版本库。
git rm test.txt
工作区,暂存区,结果如图:
远程仓库-配置连接
创建.ssh文件夹,该文件夹中包括了两个文件,id_rsa和id_rsa.pub,为SSH Key的秘钥对,id_rsa是私钥,id_rsa.pub是公钥。
如下,输入邮箱。
ssh-keygen -t rsa -C "youremail@example.com"
在GitHub的账户上添加公有密钥实现本机对仓库的下载和上传。在SSH setting设置下,添加公钥即可。
远程库到本地的关联
添加远程库到本地的关联,远程库名为origin,后面添加地址,仓库名。
以下为github创建仓库后,将本地与远程关联,便于push代码。
git remote add origin git@github.com:michaelliao/learngit.git
将本地代码推入远程
将本地文件推入远程库:-u关联本地和远程的master,引用:
git push -u origin master
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,
并将本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
之后可以如下,即可。
git push origin master
从远程克隆库到本地
使用如下代码:
git clone git@github.com:michaelliao/gitskills.git
git clone https://github.com/michaelliao/gitskills.git
Le vent se lève! . . . il faut tenter de vivre!
Le vent se lève! . . . il faut tenter de vivre!