小练习学习git库创建、文件添加与提交、连接远程库

第一次接触git,新建git库,添加文件,提交文件,clone远程文件,提交更新代码文件到远程库,一切感觉都很新鲜,现在只是了解了一些皮毛,感觉还有很多东西不是很理解。一开始都是乱弄,弄了几次然后才开始理一下,但是整理过程又发现很多不懂,果然学无止境。

小练习学习git库创建、文件添加与提交、连接远程库_第1张图片
关于git小练习

一、在GitHub上创建账户,然后新建一个git库,新建abc文件夹和config.xml文件。最后在本地克隆下来。打包文件移到www目录,解压。www目录建git库,实现连接远程库,并上传更新代码到远程库。

1、GitHub.com网站上新建库,只遇到一个问题。就是不懂如何建文件夹。

注册后选择新建库,进入如下图新建文件,然后获取clone路径。


小练习学习git库创建、文件添加与提交、连接远程库_第2张图片
编辑代码库

GitHub上新建库,注意要新建文件夹直接在文件夹后面加“/”即可。如下图。


小练习学习git库创建、文件添加与提交、连接远程库_第3张图片
github新建文件夹

2、Linux克隆远程git库代码,打包压缩。

git clone https://github.com/yiyiwoju/test3.git                          //从GitHub clone代码下来。

tar -czvf istester.tar.gz a  b c config.xml  //打包几个文件为istester

tar -czvf  istester.tar.gz  -C  /usr/local/app/www                        //解压到www

3、www目录建立版本库,添加文件,提交文件

git init                            //在www目录下执行此命令,初始化www目录为git可以管理的仓库

git  add  .                       //把当前目录下文件信息添加到索引库

git commit -m”add a b cdirectory”      //确认提交暂存区内容到本地库,并备注修改内容。加-a?

git log                            //查看历史记录,包括版本号,修改者,修改日期,你-m标注的修改内容。

4、配置用户名和邮箱,实现本地和远程库的关联,更新代码到远程库

git config --global  user.name "yiyiwoju"    //配置用户名

git config --global  user.email "3792*[email protected]"                  //配置邮箱

ssh -keygen -t rsa -C"3792*[email protected]"  //生成公钥在~/.ssh/目录

cat ~/.ssh/id_rsa.pub                       

复制密钥到github,见下图:

小练习学习git库创建、文件添加与提交、连接远程库_第4张图片
GitHub配置密钥

ssh -T [email protected]                //测试是否连上,已连上有提示successful

git remote -v                      //获取远程更新

git pull origin master                  //取得远程主机更新,再与本地分支master合并

git push origin master                // 推送本地master分支的更新到远程origin主机的origin。

此处会有几个报错见后面。

5、更新文件代码,推送到远程库.以及一些常用的查看信息命令

vi  usr/local/app/www/a/ahhh.txt

git status

git add  a

git commit -m"second"

git push origin master       


git status                          //查看状态ahhh.txt已经修改但是没有上传确认

git diff                            //查看更改了什么

git log                            //查看更改历史记录

git log --pretty=oneline                //单行显示输出信息

git reflog                          //记录了每一次命令前面的数字是commit id。

git reset --hard commit id              //输入对应版本号即可退回对应版本

git reset --hart HEAR^                //退回上一个版本的命令

git reset --hart HEAR^100              //退回前100个版本


报错1、获取或推送更新报错,拒绝合并无关项目,也无法更新代码到远程

小练习学习git库创建、文件添加与提交、连接远程库_第5张图片
pull、push报错

百度解决方法:

git pull origin master --allow-unrelated-histories    //允许合并不关联的项目

2、执行上面之后还是报错Automatic merge failed即合并失败,需要解决冲突,然后重新提交

小练习学习git库创建、文件添加与提交、连接远程库_第6张图片
自动合并失败

网上搜索解决方法,如上图git status查看,原来是config.xml远程分支合并出错,保留一个

(1)保留远程文件,丢弃本地文件:git reset --hard origin/master 

(2)不丢弃本地文件,只能修改删掉冲突部分,然后重新提交:

$:git add  config.xml

$:git commit -m"message"

显示ok了。


二、本地新建git库。然后添加文件夹和文件到库里面,提交文件,最后打包移到APP/www目录解压。

mkdir  -p  ./test/{a,b,c}      //新建一个test文件夹,test文件夹下面新建a,b,c上文件

cd  test

git  innit                         

git  add  .

git  commit  -m”add a b cdirectory”

git    log

cd  /usr/local/APP/bak 

git clone --bare  /home/test            //克隆/home/test的裸版本库,只包含版本库内容

tar -czvf  istester.tar.gz    a b c config.xml 

mv  istester.tar.gz    ../www

cd  ../www

tar -xzvf  istester.tar.gz


三、总结

经过做练习过程了解了下git的一些基本命令,还有发现问题是寻找解决方案时,查看各路前辈们对于问题的分析,好像对于分析问题有了一定的提升,有时候自己也尝试从log分析查找问题,这是个不错的开端,O(∩_∩)O哈哈~

对于git fetch和git pull区别,粗略看了下,感觉还得有空慢慢消化。

还有尝试了下创建中心库也很好玩,可以把之前的库删了, 直接从中心库克隆出来。

感觉git的基础知识还是有点欠缺。在github上新建文件夹时,一开始弄成了新建分支,然后克隆库之后发现没有abc文件,后来再去查才知道了怎么建文件夹。对应一个库可以存在多个代码,分支,项目,这些名词和它们之间关系还是不够了解。还有对于本地库,远程库,中心库,各种库的上传克隆,还有好多小细节很多东西不是很明白。

还有虽然做了好几次练习,但是有一些命令还是不够熟悉,总之越学越觉得很多不懂。但是这个至少说明你在学习的路上,而不是静止不动,感觉很好。

你可能感兴趣的:(小练习学习git库创建、文件添加与提交、连接远程库)