Git简单用法(一)

title9

[TOC]

1.安装Git

​ 输入下面命令查看git是否已经安装

$ git --version

​ 若没有安装,则输入下面命令

$ sudo apt-get install git -y

#如果是Mac用户,则:
$ brew install git

#brew和apt-get都可以看作软件管理工具,Liunx下用apt-get,Mac下用brew,若没有它就先下它

2.配置用户名与邮箱

##若想设置为全局生效,就添加--global参数
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱名"

3.基本流程

  1. 初始化新的仓库或远程Clone仓库
  2. 创建或修改文件
  3. 使用git add命令将修改后的文件添加到本地缓存(索引库)
  4. 使用git commit命令提交改动到本地代码库
  5. 使用git push命令推送到远程仓库

4.基本使用

4.1克隆远程仓库到本地或者在本地初始化仓库

4.1.1克隆远程仓库到本地(前提条件是本地已与远程仓库SSH关联)

​ 在自己远程仓库中(比如自己的Github仓库)点击clone or download,选择Use SSH,然后复制链接。

​ 然后在本地中输入命令:

$ cd 存储的路径
$ git clone 之前复制的链接
4.1.2克隆远程仓库到未关联SSH的主机

​ 在远程仓库中点击clone or download,选择Use HTTPS,然后复制链接。

​ 然后在本地中输入命令:

$ cd 存储的路径
$ git clone 之前复制的链接
4.1.3本地初始化新仓库

​ 创建代码目录并初始化, 通过git init命令进行初始化

$ cd 想要放置的位置
$ mkdir project
$ cd project
$ git init

​ 对于三者的区别,前两者已经同远程仓库建立连接,第一个从本地向远程仓库push更新的时候不用账号密码,第二个需账号密码。而第三个没有同远程仓库建立连接

4.2查看

4.2.1本地git仓库状态

​ 利用git status命令查看当前本地仓库的状态信息

4.2.2比较改动前后文件的区别

​ 利用git status只能查看本地仓库的状态信息,比如某个文件以被改动,新增或者删除了某个文件等等。但如果想获取修改了某个文件的具体内容,需要通过git diff命令来查看

git diff	//会显示当前你所有已做的但没有加入到索引里的修改
git diff --cached //显示缓存区中哪些文件被修改了

4.3添加文件到索引库

以下操作都需要在克隆到本地的仓库目录下进行:

4.3.1添加/修改

​ 把一个文件添加或更新内容到本地索引,可以使用git add命令

​ 例如创建一个新的txt文件,并往文件内写入“hello world”,并用git add命令添加到本地索引库中:

$ echo "hello world" > newfile.txt
$ git add newfile.txt

​ 可利用$ git add *命令将全部修改过的文件自动添加

4.3.2删除

​ 把仓库里的文件删掉,可以使用git rm命令

​ 例如删除新创建的newfile.txt文件

$ git rm newfile.txt

​ 对于删除文件,需要git commit一下,版本库中文件才可以完全被删除

4.3.3撤销

​ 把仓库里的改动撤销回到刚克隆下来的状态,可以使用git reset命令

#git reset命令有三种方式

$ git reset -mixed #git reset默认方式,退回到某个版本,只保留源码,回退commit和index信息
$ git reset -soft #回退到某个版本,只回退commit信息。如果还要提交,直接commit即可
$ git reset -hard #彻底退回某个版本,本地的源码也会变为上一个版本的内容

#用法为:
#回退所有内容到上一个版本
$ git reset HEAD^
#回退newfile.txt这个文件的版本到上一个版本
$ git reset HEAD^ a.py
#向前回退所有内容到第3个版本
$ git reset HEAD~3
#回退到某个版本
git reset 版本名

4.4提交仓库的改动

​ 仓库的每次改动操作后,推送同步到远程仓库前,都需要对这一次或这一批次的操作做提交,命令为git commit,只有完成提交,才可以推送改动到远程仓库

​ 例如提交本次改动:

git commit -m "我的注释"

​ 如果加上-a,则无需add便可以直接 commit所有的更新

git commit -a -m "我的注释"

4.5推送到远程仓库

​ 提交仓库改动后就可以开始推送改动的内容到远程仓库了,命令为git push,用法是git push -u origin 分支名,其中分支名默认为master。第一次推送可以使用-u参数(会绑定此时的仓库分支名,这样下次推送就无需加分支名了)

$ git push -u origin master

4.6当远程仓库被修改,如何同步到本地

4.6.1查看仓库改动

通过git fetch命令查看有哪些新改动,用法为:

$ git fetch origin
4.6.2同步到本地

通过git pull命令实现同步到本地,具体用法是git pull origin 分支名,分支名默认为master

git pull origin master