git(最先进的分布式版本控制系统)

一、创建版本仓库步骤:

1)首先,选择一个合适的地方,创建一个空目录。我在本机的D:\\test目录下,创建了一个Hello目录:


2)使用git init命令把这个目录变成Git可以管理的仓库:

命令输入后会提示你已经创建了一个空的Git仓库此时你会在hello目录下发现一个隐藏目录.git 

这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

此处的hello目录就是我们的工作区存放所有当前文档。此目录下的文件才会被Git管理

hello中的.git目录就是我们的:本地仓库,管理并保存所有的文档变化及历史状态。

 总结:创建版本库的步骤:

           (1)进入需要管理的目录

           (2)进行git init 命令

3)在当前目录中创建一个文本文件(readme.txt),命令为:touch  readme.txt , 然后在编辑一段文字(不要用记事本打开),hello Git!


4)紧接着,将文件添加到暂存区,具体实现命令:git add readme.txt ;

5)将暂存区文件提交到本地仓库,具体实现命令:git commit -m "create readme file" ;

命令解释

git commit 命令可以将暂存区的文件提交到版本库

-m 参数是本次提交的说明信息用来注释本次提交做了些说明事情

注意首次使用,需要告诉git用户的基本信息:

git config --global user.email "the email's name";

git config --global user.name 用户名;

        

二、管理文件修改

1)查看工作区和版本库里面最新版本的区别,具体实现命令:git diff  --  readme.txt;

2)查看状态,具体实现命令: git status;

3)日志查看,具体实现命令: git log;也可使用git log --pretty=oneline,显示信息更简洁

4)版本回退,回退一个或两个 git reset --hard HEAD^,git reset --hard HEAD^^,回退多个 git reset HEAD~个数

5)查看所有关联日志,具体实现命令:git reflog,此时,可以看见commit id,然后可以通过指定HEAD的位置,进行版本回退,具体实现的代码:git reset --hard id数字;

其实版本的回退仅仅是修改HEAD指针的位置而已因此Git进行版本的切换svn要快的多

三、撤销修改

1)撤销工作区修改

     对工作区修改后,会提示,文件已经修改,需要暂存,此时,使用 git checkout -- readme.txt,来撤销修改,其实就是从远程仓库重新拉取数据来覆盖现有的数据而已。然后工作区就是“干净”的了。

2)撤销已经添加至暂存区的修改

      查看状态,会提示有一个修改等待被提交,可以使用 git reset HEAD readme.txt,来撤销缓存修改,再查看状态,就会发现文件的修改被撤回到了工作区,尚未添加到暂存区,此时,再执行 git checkout  --  readme.txt,达到撤销工作区修改的目的。


四、远程仓库

1.前往码云,自行注册,网址:https://gitee.com ;

2.创建一个项目

3.创建SSH密钥,具体实现的命令:ssh-keygen -t rsa;(一路回车)

执行完命令后,会在window本地用户.ssh目录 C:\Users\用户名\.ssh下面生成公钥和私钥,然后添加密钥到git私服上。

4.关联远程仓库

git remote add origin 仓库的地址信息(ssh);

5.推送本地仓库到远程仓库的master分支:git push -u origin master;

6.克隆远程仓库:线创建一个文件夹,然后打开控制台,输入命令,git clone 远程仓库地址。

7.拉取远程仓库数据:git pull;

五、分支的创建和合并

1)创建:git checkout -b 分支名;并切换到新的分支。相当于以下两条命令:

git branch dev #创建分支

git checkout dev #切换到具体分支

2)在dev分支上进行修改和提交

3)再切换会原来的分支:git checkout master,发现此时readme并没有改变,因为刚刚修改的时dev分支,此时的HEAD已经指向了master。

4)使用git merge dev 将dev分支的修改合并到master分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。

注意:有时会自动合并失败,必须药先解决文件冲突才能合并,然后提交。

查看readme.txt文件,根据实际情况进行冲突解决,两者皆留,两者皆不留,两者留其一。

5)合并以后,就可以将dev分支删除,git branch -d dev

六、保存工作区状态

使用git stash命令将工作区保存起来,等再次切换回当前分支时,通过git stash list命令来查看

工作现场还在,Gitstash内容存在某个地方了,但是需要恢复一下,有两个办法:

1) 方式1:用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

2) 方式2:用git stash pop,恢复的同时把stash内容也删了:

3) 注意以上指令都可以在后面紧跟 stash的序号,来操作指定stash,例如: git stash apply stash@{0}


  



猜你喜欢

转载自blog.csdn.net/doityourselfagain/article/details/80633460