码迷,mamicode.com
首页 > 其他好文 > 详细

Git学习(一)

时间:2019-09-22 14:45:43      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:文件   掌握   原创文章   l命令   还需   spec   添加   安装git   mda   

  最近学习Python,学到面向对象-类一节感觉好难啊,虽然硬着头皮看完了视频,但是完全不知道在说啥,我内心是崩溃的。于是暂时放下Python,去学了一点Linux的基本命令,枯燥无味的敲命令行敲了两天,昨晚无意中看到一篇博客关于Git教程的,于是今天开始学Git,照着廖雪峰老师的教程一步步学习。以下是今天的学习笔记,作为一个刚学习编程的小白,记录下来以后忘记了可以回头复习一下。

一:安装Git

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

二:创建版本库

选择一个合适的地方,创建一个空目录,然后通过git init命令把这个目录变成Git可以管理的仓库。当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的。

三、常用命令

1、添加文件到Git仓库,分两步:

  • 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  • 使用命令git commit -m <message>,完成。
  • 每次修改,如果不用git add到暂存区,那就不会加入到commit

2、其他命令

  • git log命令查看历史记录,可以试试加上--pretty=oneline参数。
  • git status命令可以让我们时刻掌握仓库当前的状态。
  • git diff顾名思义就是查看difference,查看具体修改的内容。

4、版本回退。

  • 命令git reset --hard HEAD^ 回退到上一个版本,上上一个版本就是HEAD^^
  • 命令git reset --hard <commit id> 回退到指定版本
  • Git提供了一个命令git reflog用来记录你的每一次命令,可以找到<commit id>。

5、撤销修改。

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

6、删除文件。

  • 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

四、远程仓库

1、添加远程库。

  • 登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。
  • 关联远程库,使用命令git remote add origin git@server-name:path/repo-name.git
  • 关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
  • 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

2、从远程库克隆

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone git@server-name:path/repo-name.git命令克隆。
  • Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

实践操作:

1、更改路径后push。我把整个文件夹剪切到另一个路径,cd根目录然后尝试上传,git push origin master,没有问题,我想应该是仓库根目录下的.git文件夹没有变化所以即使改变路径也不影响上传。
2、GitHub新建一个仓库,然后push的时候提示
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull ...‘) before pushing again.

原因是新建仓库不是空的,新建时我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。搜索找到以下解决办法搞定。

(如果说远程分支上的那些提交都不需要了,那么用命令:
$ git push origin master -f,强行让本地分支覆盖远程分支

$ git pull :命令用于从另一个存储库或本地分支获取并集成(整合).作用:取回远程主机某个分支的更新,再与本地的指定分支合并
使用语法:
git pull [options][<reposit>][<refspec>..]
$ git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
如果还想要远程分支上的提交:
git新版本的使用旧的pull命令:$ git pull origin master并不会解决问题,需要改为:
$ git pull origin master --allow-unrelated-histories
————————————————
版权声明:本文为CSDN博主「LPLIFE」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lplife/article/details/79818097)

Git学习(一)

标签:文件   掌握   原创文章   l命令   还需   spec   添加   安装git   mda   

原文地址:https://www.cnblogs.com/neoj323/p/11567226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!