git---第四篇 命令行-起别名, 删除文件, 查看版本号, 回退版本

起别名, 删除文件, 查看版本号, 回退版本


汇总:



详细:

给命令行起别名:

git config alias.st    “status”       

git config alias.ci  "commit -m"  使用的时候就变成 git ci "xxxxxxx"

查看你这些配置, 可以在 工作区域的 .git 文件夹的 config文件 右键打开 

本地的别名不太方便, 为了所有的项目都可以用, 现在起一个全局的别名;


起一个全局的别名:git config --global alias.st    "status"

这里面要记住一个给log起全局的别名的git操作


查看你全局别名的配置, 可以在 前往--个人, 隐藏的一个文件, .gitconfig .右键打开, 有个alias 里面就是配置了。


删除文件:

git  rm 就是命令

git ci "删除了xxx"

git st



git rm xxx.m 就是将文件删除

git help 

可以看到每个文件的命令的意思。

git 里面 check out 是切换分支的, clone 才是下载到本地

git st  文件状态就变成绿色了,说明rm操作是本地操作的命令, 我们st操作完之后, 需要提交到暂缓区才可以。 


查看版本号:

方式一: git log 

细节: Author  (作者), 时间,什么操作, 版本号有四十位。 

 版本号是由sha1算法生成的40位哈希值, 不会重复的。


方式二: git  reflog

细节: 版本号, 做了什么操作, 可能做些版本回退, 这个命令是可以看到所有的版本回退的操作的。 所以这个命令的功能更强大。



版本回退补充汇总:

因为之前只有本地版本库, 没有共享版本库。

正确的做法是, 需要B也reset, 或者 B重新clone一个下来一个最新的版本。 所以回退版本是一个所有开发配合的操作。

正确的做法: 版本回退的时候 , 首先本地 备份一下

 A:   git reset -- hard HEAD^            git push -f 

B :     git reset --hard HEAD^  


B git pull你发现已经成功了。 

这就是正确的操作了。

操作了,没有提交的(回到当前版本),已经提交的(回到指定的版本,操作之前需要备份, 需要多人配合一起reset,或者新同事重新clone )。

(1) 命令行 回到当前版本操作:   git reset  -- hard HEAD (--hard是强制恢复的意思)

       命令行 回到上一个版本的操作 :     git reset  -- hard HEAD^                                                                    

       命令行 回到上上个版本的操作 :     git reset  -- hard HEAD^ ^    

       命令行 回到上100个版本的操作 :     git reset  -- hard HEAD~100

       命令行 回到指定的版本的操作 :        git reset  -- hard 版本号(前5位,前6位,等等)  

     

(2)xcode   回到当前版本操作:  source control ---discard all changes...  /  discard changes in selected files是删除当前停留的文件。




详细操作:

1.  前提:A cd到目录下面, 然后touch person.h     open person.h  写一部分代码,   然后 git add.       git ci "xxx"    open person.h  改代码, 

    git add .      git ci "xxxx"         git log (查看版本)      这里操作注意, 这里很长, 直接,enter,会往下翻, 如果你按 空格, 会到最下面, 

    如果, 你按q,  会退出   ;      

   现在演示怎么回到上一个版本   git reset --hard HEAD^       

    想回到最后的版本,   git reset  --hard  这里填写log查到的版本号

   push :  git push orgin (orgin 是我们那个目录的意思)

   git st

   git push

   发现push成功了,那么我们共享版本库就已经有 person.h这个文件了。 

如果B 想要这个代码,cd 到B的文件夹下面,    然后git pull ;

A : git reset --hard HEAD^  回到上一个版本; 你觉得共享版本库有没有回呢, git status ;

B: git pull 没有任何信息, 说明A虽然回退了版本, 但是没有影响到共享版本库;

A:git push ,  报错信息, 已经存在版本了, 你必须先pull一下; 你检查文件还是没有回退成功;

A: 所以刚才的做法是错的, 正确的回退版本的方式是 git reset -- hard HEAD^   ; 然后git push -f, 强制推送的意思, 这样做之后, 

     你所有的操作就彻底没有了, 不能恢复的。 

B:git pull , 这时候提示更新了,你会看到,还存在, 因为A的操作是共享版本库的记录, 但是B的操作是本地库,pull并不会改变本地的代码; 如果现在B git push

     会有什么变化呢    push可以成功操作的;

A:git pull 会拉下来一些东西, 你会看到又出现了。





你可能感兴趣的:(git---第四篇 命令行-起别名, 删除文件, 查看版本号, 回退版本)