GIT使用简易流程
前言
之前写过一个文章记录了GIT的常用命令,结果重新去看文档学习GIT使用的时候发现一俩懵逼,所以这次重新梳理一下。GIT是目前应用最广泛的分布式版本管理系统,可以脱网单机使用,而GITHUB则可以认为是网上开源代码托管平台,可以与GIT无缝对接。
windows平台使用流程
安装GIT,并设置
去官网下载GIT,然后并安装,点击开始菜单Git Bash,出现如下窗口,则代表安装成功
安装成功之后通过下面两条命令配置Git用户名和邮箱(对应你的github账户)
git config --global user.email "aaa@qq.com"
git config --global user.name "Your Name"
(global参数表示这台电脑所有仓库都用该配置信息)
git config --global -l 查询用户级别信息
输入ssh-****** -t rsa
指定rsa算法生成秘钥 (**id_rsa, 公钥id_rsa.pub,路径C:\Users\Administrator.ssh),将公钥添加到GitHub处
本地推送至github
1.在/GitSite下面新建一个目录helloworld(作为仓库用),进到helloworld目录里面,通过命令git init
初始化为仓库
初始化之后,可以通过命令git status
查看仓库状态
2.将文件或目录添加进仓库,并提交
在仓库里面新建一个文件test.txt,文本内容如下,通过git add test.txt
命令添加到仓库(其实并没有添加到仓库而是添加到临时缓冲区),
然后仓库里面新建一个文件夹“myfile”,里面放了一个test.cpp文件,通过git add myfile/
将该文件夹添加到临时缓存区。,通过git commit -m "second commit"
提交该文件夹,-m参数后面的文本表示这次提交的信息,提交之后可以通过git log
打印提交日志
3.版本修改
假如我改了下test.txt的内容,如下
输入命令git status
,结果会显示test.txt发生了更改,没有提交
此时出入git diff test.txt
,可以查看test.txt文本修改的内容
,然后我们通过命令```git add test.txt,git commit -m "test.txt add a newline"再次提交
4.版本回退
现在版本是一共提交过三次的版本,那么我想回到上个版本的话,可以通过命令 git reset --hard HEAD~1
(更改HEAD之后的数字,表示回到之前的对应版本)
可以看到之前添加的一行已经没有了,回到了第二次提交的状态.
假如,我又后悔了,现在想回到之前的最新版本怎么办呢,可以通过命令git reflog
打印出之前的commit和reset记录,从下图可以看到之前最新版本编号是1f886f8,通过命令git reset --hard 1f886f8
,回到最新版
5.分支相关操作命令
git branch 查看分支情况 (分支前的‘’*‘’表示当前分支)
git branch xx 创建分支xx
git checkout xx 切换到分支xx
git checkout -b xx 创建xx分支并切换到该分支
git merge xx 将xx与当前分支合并 (在合并之前需要考虑到两个分支是否有冲突,有冲突需要先解决冲突再合并)
git branch -d xx 删除分支 git branch -D xx 强行删除该分支
git tag 为当前分支添加标签, 例如 git tag v1.0 ,git tag 可以查看该分支标签记录
6.创建分支,合并分支
在多人协作开发一个项目时,分支是很有必要的。
(1)通过git checkout -b hw
创建并切换到分支hw,在test.txt,新添一行如下
(2)然后通过git add test.txt
,git commit -m "test branch"
提交,提交之后通过git log
查看提交信息
(3)合并分支
通过命令git checkout master
切换到主分支,查看test.txt内容
发现hw分支修改的内容并没有影响到master分支(注意,如果分支修改之后不提交,切换到master之后发现修改内容受影响)
。
通过命令git merge hw
合并分支,然后查看test.txt文本
版本已合并。
7.本地创建仓库将代码提交到github
(1)首先在github上新建一个仓库,仓库名与你的本地仓库名保持一致
(2)仓库关联
通过命令git remote add origin aaa@qq.com:foreverwlh/helloworld.git
将本地的仓库和远程仓库关联起来,这里要注意的是要填成自己的用户名,不然就关联到我的账号(但是push不到我的仓库,因为我的账号下的公钥和你本地不一致)。然后用命令git remote -v
查看关联情况
(3)推送到仓库
push 直译为推,意思是如果我们的本地代码有了更新,为了保持本地的代码和远程仓库的代码一致,我们需要把代码推到远程仓库;
pull 直译为拉,即远程仓库有了更新,为了保持一致需要把代码拉到本地,一般推送之前先通过命令git pull origin master
将远程仓库拉下来,防止直接push造成版本冲突,如果出现fatal: refusing to merge unrelated histories
的情况(两个仓库提交历史不一致造成的),需要加额外参数git pull origin master --allow-unrelated-histories
(允许历史信息不一致进行合并)
接着用命令git push origin master
推送本地仓库到远程仓库
然后查看github,发现已经推送成功
8.从github克隆到本地再推送至github
上面那种方式本地创建仓库之后还需要关联github,比较麻烦,我们可以换一种方式。
(1)进入GitHub项目页面,点击clone or download,复制链接
(2)进入本地存放仓库文件夹,进入git bash,输入命令:git clone https://github.com/xxx
(l上一步复制链接) ,将远程仓库复制到本地
(3)进入本地clone下来的仓库,将需要添加的文件复制进来,右键进入git bash
(4)通过git add命令和git commit命令添加并提交文件,通过git log和git status查看仓库状态
(5)所有文件提交完毕后,通过git push origin master 推送到远程仓库
上一篇: 盘点八位杀兄夺嫡篡位的皇帝,你知道几个?