您的位置:首页 > 其它

Git学习记录(一)

2018-01-18 23:03 344 查看
详细的介绍在廖雪峰教程网站上,本文为学习此教程过程中的总结,仅供个人参考。
1、创建版本库(repository)及添加文件到git通过git init命令把当前目录变成Git可以管理的版本库:
$ git init
Initialized empty Git repository in F:/works/.git/
在当前工作区内(例如我works文件夹或其子目录)新建一个learninggit.txt文件(用cat命令查看文本内容):
$ cat learninggit.txt
I am learning git.
01.18.2018
添加文件到git步骤:第一步,用git add命令把文件添加到仓库:
$ git add learninggit.txt
第二步,用git commit命令把文件提交到仓库:
$ git commit -m "I wrote a learninggit file"
[master (root-commit) 0dce692] I wrote a learninggit file
 1 file changed, 2 insertions(+)
 create mode 100644 learninggit.txt为什么Git添加文件需要
add
commit
一共两步呢?因为
commit
可以一次提交很多文件,所以你可以多次
add
不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

2、查看修改
要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff命令可查看修改内容。

3、版本回退git log命令显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数。首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。现在,我们要把当前版本回退到上一个版本,就可以使用git reset命令:
$ git reset --hard HEAD^
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id


穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的那个版本的commit_id。

4、工作区和暂存区Git的版本库(repository)就是工作区中的隐藏文件夹.git。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。添加文件到git中的过程如下(图来自廖雪峰Git教程):



5、撤销修改 git checkout -- learninggit.txt 命令可以让这个文件回到最近一次
git commit
git add
时的状态。
git checkout -- file
命令中的
--
很重要,没有
--
,就变成了“切换到另一个分支”的命令。
用命令
git reset HEAD file
可以把暂存区的修改撤销掉(unstage),重新放回工作区。
也就是说:
当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用git checkout -- file命令。
当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用git reset HEAD file命令,第二步用git checkout -- file命令。
已经提交了不合适的修改到版本库时,想要撤销本次提交,运用版本回退的方法,不过前提是没有推送到远程库。

6、删除文件 通常
rm
命令可以删除文件或者直接手动删掉。现在在版本库内可有两个选择:一是确实要从版本库中删除该文件,那就用命令
git rm
删掉,并且
git commit
$ git rm learning.txt
rm '
learninggit.txt
'
$ gitcommit -m "remove learninggit.txt"
[master d17efd8] remove learninggit.txt
1 file changed, 1 deletion(-)
delete mode 100644 learninggit.txt
现在,文件就从版本库中被删除了。另一种情况是删错了,可从版本库里把误删的文件恢复到最新版本:
$ git checkout -- learninggit.txt
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
7、用github做远程仓库第一步在本地创建SSH key,然后登陆github添加SSH key,在github上创建一个新的版本库btgit(例)。在本地仓库下运行:$ git remote add origin git@github.com:NT795/btgit.git
关联本地仓库与远程仓库。然后运行$ git push -u origin master 命令将本地仓库内容推送到github仓库(实际上是把当前分支
master
推送到远程)。由于远程库是空的,我们第一次推送
master
分支时,加上了
-u
参数,Git不但会把本地的
master
分支内容推送的远程新的
master
分支,还会把本地的
master
分支和远程的
master
分支关联起来,在以后的推送或者拉取时就可以简化命令。从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地
master
分支的最新修改推送至GitHub。8、从远程仓库克隆用命令
git clone
从远程仓库克隆一个本地库:
$ git clone git@github.com:NT795/gitskills.git
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: