【Git】 Git 教程

Git是世界上最先进的分布式版本控制系统,可以查看历史改动,版本回退等。

1、Git 安装

在windows安装Git,直接在Git官网下载安装程序,默认安装即可,安装后在开始菜单找到"Git"->“Git Bash”,弹出一个类似命令窗口的东西,说明git安装成功.

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

$ git config --global user.name "your name"
$ git config --global user.email "youremail@example.com"

2、创建版本库

​ 首先打开“Git bash”窗口,移动到相关的目录,然后执行

$ git init

​ 执行完后将在目录下生成一个.git目录,是Git用来跟踪管理版本库的,不能随便删除,否则就把Git库破坏了。

3、添加文件到仓库

在目录下任意创建一个git-test.txt文件,随意输入一些内容,然后执行以下git add命令将文件添加到仓库的暂存区,如果改动的文件没有通过 git add 提交到暂存区,那么该次修改即使 commit 也不会被保存。

$ git add git-test.txt

执行上述命令,没有任何显示,说明文件添加成功,可以一次性添加多个文件。

4、提交文件到仓库

利用以下git commit命令将暂存区的所有文件提交到仓库

$ git commit -m "add the git-test.txt file"

git commit 后面的 -m 是本次提交的说明,可以输入任意内容,便于从历史记录里查找改动记录,利用 **git status ** 命令可以查看当前仓库的状态,是否有已改动未添加的文件,是否有已添加未提交的文件等。

5、版本回退

输入 git log 可以查看历史提交记录,按q可以提出该命令

wt@mi-tun MINGW64 /e/git-test (master)
$ git log
commit 1347001d46e232e44a0eebb3a78a4cfc2d52cc3a (HEAD -> master)
Author: wt <wang-tun@qq.com>
Date:   Mon Jul 8 09:06:00 2019 +0800

    back

commit e33948e57d44a4fce55ba0e5332bc54bb563d09e
Author: wt <wang-tun@qq.com>
Date:   Mon Jul 8 08:57:26 2019 +0800

    git notes

commit ff0bc6c3d91ee0831fc02d84d61292bdf75280f8
Author: wt <wang-tun@qq.com>
Date:   Mon Jul 8 08:52:26 2019 +0800

    today

commit cf4d0a34e728024c4718ace2225cbd423532f537
Author: wt <wang-tun@qq.com>
Date:   Mon Jul 8 08:45:55 2019 +0800

    test
:...skipping...
commit 1347001d46e232e44a0eebb3a78a4cfc2d52cc3a (HEAD -> master)
Author: wt <wang-tun@qq.com>

该命令列出了每次提交的作者、时间、commit id 以及提交描述等。

添加 –pretty=oneline 参数后,一次提交只列出一行信息,如

$ git log --pretty=oneline
1347001d46e232e44a0eebb3a78a4cfc2d52cc3a (HEAD -> master) back
e33948e57d44a4fce55ba0e5332bc54bb563d09e git notes
ff0bc6c3d91ee0831fc02d84d61292bdf75280f8 today
cf4d0a34e728024c4718ace2225cbd423532f537 test
8eaeeeec2f054eefbb6600be174fae58f2aa2936 chane git-test.txt
db6588d4d80be6ed3666332bbc904127f33b068a git test

只显示了commit id 和提交描述信息,其中 HEAD 表示当前版本 。

如果要回退到上一版本,可以用 git reset 命令

$ git reset --hard HEAD^

其中 HEAD^ 指上一个版本, HEAD^^ 指上上一个版本,也可以直接输入 commit id 的前几位,直接跳到指定版本,也就是说,只要知道任意某次提交的 commit id ,通过该命令就可以跳到对应的历史版本 。

如果电脑重启了,可以通过以下命令来查看每一次命令的记录,这样就能够找到每次提交的commit id 了。

$ git reflog
1347001 (HEAD -> master) HEAD@{0}: reset: moving to 134700
cf4d0a3 HEAD@{1}: reset: moving to cf4d0
1347001 (HEAD -> master) HEAD@{2}: reset: moving to 134700
ff0bc6c HEAD@{3}: reset: moving to HEAD^
e33948e HEAD@{4}: reset: moving to HEAD^
1347001 (HEAD -> master) HEAD@{5}: commit: back
e33948e HEAD@{6}: commit: git notes
ff0bc6c HEAD@{7}: commit: today
cf4d0a3 HEAD@{8}: commit: test
8eaeeee HEAD@{9}: commit: chane git-test.txt
db6588d HEAD@{10}: commit (initial): git test

以下命令可以撤销修改,使文件回到最近一次 git commitgit add 的状态。

$ git checkout -- readme.txt

6、远程仓库

Git 不仅可以在本地管理文件,还可以将其远程托管到 Github 网站。

1)注册 Github 账号

2)在本地创建SSH key

​ 在用户主目录下,看看有没有.ssh目录,如果有再看看有没有 id_rsaid_rsa.pub

这两个文件,如果已经有了,可直接跳到下一步,如果没有,打开Bash ,创建SSH Key

$ ssh-keygen -t rsa -C "wxxx-xxx@qq.com"

执行后一路回车,使用默认值即可,无需设置密码,成功后将生成上述文件。

3)在Github添加SSH key

登陆Github,打开 “Settings” , “SSH and GPG keys” ,“SSH keys” ,"New SSH key "

填上任意title,在key文本框里粘贴 id_rsa.pub 文件的内容。

Github允许添加多个key,可以在多台电脑创建key,并分别添加到 Github,这样每台电脑都可以往github推送了。

注意,在Github上托管的仓库,任何人都可以看到,只有自己能改

如果不想让别人看到,可以交费或者搭建一个自己的Git服务器。

4)在Github创建一个远程仓库

如果在本地创建了一个Git仓库后,又想在Github创建一个Git仓库,并且让这两个仓库进行远程同步,这样Github上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,一举多得。

登陆Github,找到右上角的“+”按钮,点击“New repository”,创建一个新的仓库,在Repostitory name 中填入test ,其他的保持默认设置,点击“Create repository”,就成功地创建了一个新的远程Git仓库,目前这个仓库还是空的,我们可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到该远程仓库;

5)将远程仓库与本地仓库关联

通过git remote add [shortname] [url] 可以在本地添加一个远程仓库,其中shortname是可任意指定的一个名字,用于区别多个远程仓库,url 是远程仓库的url地址,例如

$ git remote add origin git@github.com:zxxxtxx/test.git

可通过git remote 查看当前有哪些远程仓库,会列出每个远程库的名字

$ git remote
origin

加上 -v 选项,可以显示对应的克隆地址

$ git remote -v
origin  git@github.com:zxxxtxx/test.git (fetch)
origin  git@github.com:zxxxtxx/test.git (push)

下一步,就可以把本地库的所有内容推送到远程库上,执行以下命令将本地库推送到远程仓库

$ git push -u origin master

发生错误error:failed to push some refs to … ,原因在于,远程库与本地库不一致造成的,只要把远程库同步到本地库就可以了,执行以下命令

$ git pull --rebase origin master

该命令的意思是把远程库中的更新合并到本地库中,在执行完该命令后再执行 git push -u origin master,即可成功将本地库推送到远程库中。把本地库推送到远程,用 git push 命令,实际上是把当前分支 master 推送到远程,第一次推送到master分支时,加上 -u ,会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或拉取时就可以简化命令。

执行上次步骤后,将在远程库中看到与本地库一样的内容,从现在起,只要在本地做了提交,就可以通过命令

$ git push origin master

把本地master分支的最新修改推送到远程Github.

6)从远程库克隆

现在Github创建一个远程库test.git,使用以下命令可将远程库克隆到本地

$ git clone git@github.com:zxxxtxx/test.git
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值