git基础操作

1.git配置与开始

git config --list  #查看git配置信息

若你使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册

git help <verb>
git <verb> --help
$man git-<verb>

例如,要想获得 config 命令的手册,执行:

git help config

2.初始化本地仓库

1.如果你打算使用 Git 来对已有项目进行追踪,你需要进入项目目录并输入:git init

git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。
2.如果在一个已存在文件的文件夹(而非空文件夹)中进行版本控制,你应该开始追踪这些文件并进行初始提交。 可以通过 git add 命令来指定所需的文件来进行追踪,然后执行 git commit :

git add *.c  #指定追踪后缀为.c的文件
git add LICENSE  # 指定追踪授权文件
git commit -m 'initial project version' #提交被追踪的文件

3.如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令:git clone [url]

# git clone [url]
# 要克隆 Git 的链接库 libgit2,可以用下面的命令:
git clone https://github.com/libgit2/libgit2 mylibgit  
# 这会在当前目录下创建一个名为 “mylibgit” 的目录,并在这个目录下初始化一个
# .git 文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,
# 然后从中读取最新版本的文件的拷贝。

3.Git 基础 - 记录每次更新到仓库

1.工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能是未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有被放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。 我们逐步将这些修改过的文件放入暂存区,然后提交所有暂存了的修改,如此反复。
2.可以用 git status 命令查看哪些文件处于什么状态:

git status  #查看哪些文件处于什么状态

3.git不会自动跟踪新添加的文件,除非通过命令告诉git跟踪新文件,这时被追踪的文件处于暂存状态,还没被提交。link

git add 新文件名  #开始跟踪一个文件,但运行该命令后新文件还没被commit

4.更改被追踪的文件后,可继续用git add命令将修改内容添加内容到下一次提交中;注意:使用commit提交时,只会提交git add过的修改,而没用git add过的修改则不会被提交;
5.忽略文件:一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件的模式。 来看一个实际的 .gitignore 例子:

cat .gitignore
*.[oa]    #忽略.o,.a文件
*~        #忽略末尾有波浪线文件

6.提交更新:现在的暂存区域已经准备妥当可以提交了git commit,这是会启动编辑器要求输入修改说明

git commit #提交所有git add过的修改,并启动编辑器
git commit -m "提交信息" #提交所有git add过的修改,不启动编辑器
git commit -a -m "提交信息" #提交所追踪过的文件,跳过git add步骤

7.移除文件:要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交;可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了:

git rm 文件名  #从暂存区移除文件
rm 文件名     #仅仅删除本地文件,没有删除暂存区的文件
git rm --cached 文件名   #文件从从暂存区域移除,但仍然希望保留在当前工作目录中

8.仓库中文件重命名:git mv 旧名 新名

git mv 旧名 新名

该命令相当于一下三条命令:

mv README.md README  #将README.md重新命名为README
git rm README.md     #取消对README.md的追踪
git add README       #添加对README的追踪

4.Git 基础 - 查看提交历史

1.查看提交历史:
在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log 命令:其他详细用法参考:link

git log   #列出所有提交的简要信息
git log -p -2   #选项-p会显示每次提交所引入的差异,选项-2表明最近的两次提交的差异
git log --stat    #每次提交的简略统计信息可以使用--stat选项

在这里插入图片描述

5.Git 基础 - 撤消操作

1.你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

git commit -m 'initial commit'   #提交文件
git add forgotten_file      #forgotten_file:修改后忘记提交的文件
git commit --amend    #运行此命令forgotten_file不会被当做一次额外提交

2.取消暂存文件:例如,你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但是却意外地输入了 git add * 暂存了它们两个。 如何只取消暂存两个中的一个呢?采用git reset HEAD:

git reset HEAD CONTRIBUTING.md  #如CONTRIBUTING.md是误暂存的文件,采用该命令取消修改暂存

3.撤消对文件的修改:(在 Git 中任何 已提交的 东西几乎总是可以恢复的,任何你未提交的东西丢失后很可能再也找不到了)
如果你并不想保留对 CONTRIBUTING.md 文件的修改怎么办? 你该如何方便地撤消修改,将它还原成上次提交时的样子(或者刚克隆完的样子,或者刚把它放入工作目录时的样子)?

git checkout -- CONTRIBUTING.md   #如果CONTRIBUTING.md被修改但还未暂存,该命令回复修改前模样

6.Git 基础 - 远程仓库的使用

管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。
1.如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin ——这是 Git 给你克隆的仓库服务器的默认名字:
示例:

$ git clone https://github.com/schacon/ticgit    #克隆远程仓库到本地文件夹
Cloning into 'ticgit'...
remote: Reusing existing pack: 1857, done.
remote: Total 1857 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done.
Resolving deltas: 100% (772/772), done.
Checking connectivity... done.
$ cd ticgit      #定位到新克隆的仓库所在的文件夹
$ git remote     #查看你已经配置的远程仓库服务器
origin           #新克隆仓库后运行git remote命令的默认输出

2.添加远程仓库:
(1)运行 “git remote add <shortname> <url> ”添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写:
例如:

git remote add pb https://github.com/paulboone/ticgit  #pb是给该残酷的简写名称(shortname)
git remote -v    #查看已添加的远程仓库,-v选项可查看仓库的拉取(fetch)和推送(push)权限
git fetch pb   #拉取远程仓库pb中本地没有的信息到本地仓库中,pb是有fetch权限的远程仓库的shortname

(2)如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写:

git fetch origin   #抓取克隆(或上一次抓取)后,新推送的所有工作

(3)注意 git fetch 命令会将数据拉取到你的本地仓库——它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

3.推送到远程仓库:
当你想分享你的项目时,必须将其推送到上游。 这个命令很简单:git push [remote-name] [branch-name]。 当你想要将 master 分支推送到 origin 服务器时(再次说明,克隆时通常会自动帮你设置好那两个名字),那么运行这个命令就可以将你所做的备份到服务器:

git push origin master   #推送至origin仓库的master分支上

4.查看某个远程仓库:
如果想要查看某一个远程仓库的更多信息,可以使用 git remote show [remote-name] 命令
在这里插入图片描述
6.远程仓库的移除与重命名
如果想要重命名引用的名字可以运行 git remote rename 去修改一个远程仓库的简写名。 例如,想要将 pb 重命名为 paul,可以用 git remote rename 这样做:

git remote rename pb paul     #将远程仓库pb重新命名为paul
git remote rm paul    #删除远程仓库paul,即切断本地仓库和paul仓库的脸,paul仓库本身不会被删

7.git标签
·····
8.别名

7.删除本地仓库

要删除本地仓库删除 .git文件夹即可,有时 .git文件夹是隐藏不可见的,使用以下命令即可删除 .git文件夹:

rm -rf .git
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

E. Zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值