[git]git还原指定文件到指定历史版本
git还原指定文件到指定历史版本相比较IDE提供的git图形化工具,我更喜欢使用命令行来操作git。命令git checkout <hash> <filename>实验环境假如我们的项目有如下文件checkout$ tree srcsrc└── main└── java└── com└──...
·
git还原指定文件到指定历史版本
相比较IDE提供的git图形化工具,我更喜欢使用命令行来操作git。
命令
git checkout <hash> <filename>
实验环境
假如我们的项目有如下文件
checkout$ tree src
src
└── main
└── java
└── com
└── jianglei
└── App.java
4 directories, 1 file
第一步:初始化git仓库
$ git init
Initialized empty Git repository in /Users/jianglei/yunhe/checkout/.git/
第二步:对App.java文件作二次修改并提交
$ echo "/* comment 1 */" >> src/main/java/com/jianglei/App.java
$ git add src/main/java/com/jianglei/App.java
$ git commit -m "comment 1"
[master (root-commit) 25ed983] comment 1
1 file changed, 14 insertions(+)
create mode 100644 src/main/java/com/jianglei/App.java
$ echo "/* comment 2 */" >> src/main/java/com/jianglei/App.java
$ git add src/main/java/com/jianglei/App.java
$ git commit -m "comment 2"
恢复App.java到第一次提交时的内容
查看第一次提交的hash
$ git log --pretty=oneline
41c935343d379ac27883339e72d00824d281ad46 (HEAD -> master) comment 2
25ed9835b329b5b109cc9593136a82ec62d84b3c comment 1
执行恢复命令
$ git checkout 25ed9835b329 src/main/java/com/jianglei/App.java
$ tail -n 1 src/main/java/com/jianglei/App.java
/* comment 1 */
执行后最后一行变成了/* comment 1 */
说明恢复成功了。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献4条内容
所有评论(0)