git还原服务器版本|git reset退回指定版本后怎么提交上服务器



Ⅰ git revert 删除文件怎么恢复

直接从本地把文件checkout出来就可以了,用不着从远程服务器上pull下来,因为,所有的历史版本你的本地都有的。具体做法 git checkout file 同时恢复多个被删除的文件:

Ⅱ linux 安装好git 怎么用

Git服务程序中提交数据、移除数据、移动数据、查询历史记录、还原数据及管理标签等,满足日常工作的需求。同时还为包括了分支结构的创建与合并,遇到分支内容冲突的解决办法,动手部署Git服务器及使用Github托管服务等一些强大的功能,你可以参考下一、在正式使用前,我们还需要弄清楚Git的三种重要模式,分别是已提交、已修改和已暂存:已提交(committed):表示数据文件已经顺利提交到Git数据库中。已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。提交前的数据文件可能会被随意修改或丢失,但只要把文件快照顺利提交到Git数据库中,那就可以完全放心了,流程为:1.在工作目录中修改数据文件。2.将文件的快照放入暂存区域。3.将暂存区域的文件快照提交到Git仓库中。执行yum命令来安装Git服务程序:[[email protected] ~]# yum install -y gitLoaded plugins: langpacks, proct-id, subscription-manager………………省略部分安装过程………………Installing: git x86_64 1.8.3.1-4.el7 rhel7 4.3 MInstalling for dependencies: perl-Error noarch 1:0.17020-2.el7 rhel7 32 k perl-Git noarch 1.8.3.1-4.el7 rhel7 52 k perl-TermReadKey x86_64 2.30-20.el7 rhel7 31 k………………省略部分安装过程………………Complete!首次安装Git服务程序后需要设置下用户名称、邮件信息和编辑器,这些信息会随着文件每次都提交到Git数据库中,用于记录提交者的信息,而Git服务程序的配置文档通常会有三份,针对当前用户和指定仓库的配置文件优先级最高:配置文件 作用 /etc/gitconfig 保存着系统中每个用户及仓库通用配置信息。 ~/.gitconfig~/.config/git/config 针对于当前用户的配置信息。 工作目录/.git/config 针对于当前仓库数据的配置信息。 第一个要配置的是你个人的用户名称和电子邮件地址,这两条配置很重要,每次 Git 提交时都会引用这两条信息,记录是谁提交了文件,并且会随更新内容一起被永久纳入历史记录:[[email protected] ~]# git config –global user.name "Liu Chuan"[[email protected] ~]# git config –global user.email "[email protected]"设置vim为默认的文本编辑器:[[email protected] ~]# git config –global core.editor vim嗯,此时查看下刚刚配置的Git工作环境信息吧:[[email protected] ~]# git config –listuser.name=Liu Chuan[email protected]core.editor=vim二、提交数据我们可以简单的把工作目录理解成是一个被Git服务程序管理的目录,Git会时刻的追踪目录内文件的改动,另外在安装好了Git服务程序后,默认就会创建好了一个叫做master的分支,我们直接可以提交数据到了。三、移除数据有些时候会向把已经添加到暂存区的文件移除,但仍然希望文件在工作目录中不丢失,换句话说,就是把文件从追踪清单中删除。移动数据Git不像其他版本控制系统那样跟踪文件的移动操作,如果要修改文件名称,则需要使用git mv命令:[[email protected] linuxprobe]# git mv readme.txt introction.txt由于字数限制,不能完全放下,如果你想好好了解,建议你看下http://www.linuxprobe.com/chapter-21.html 这个文档中有详细的用法你可以看看对你有用吗

Ⅲ git怎么查看哪些文件是在版本控制下的呢

TortoiseGit是一个开放的,为的git版本控制系统的源客户端。像一个普通的文件服务器,除了会记得您有史以来的文件和目录的每一个变化外,还可以恢复您的文件的旧版本,并研究如何以及何时改变了历史数据,谁改变了它。git相对于其他的版本控制,优势在于分支管理。几个常见情况及分支使用方法。1对于自己的代码修改后,却已经不知道服务器上的代码是否已经发生改变。此时想上传自己的代码。1)在master上创建分支mysrc;2)switch到mysrc分支,进行修改代码;3)修改好代码后,进行gitcommit操作;4)switch到master分支,进行gitpull操作,将服务器上的代码签下来;5)进行gitmergefrommysrc操作,将mysrc的代码合并到master中;6)gitcommit操作;7)gitpush操作。2修改自己的代码过程中,还不需要上传时,需要从服务器上签新的代码,但保留当前的代码修改。1)在master上创建分支mysrc;2)switch到mysrc分支,进行代码修改;3)进行gitcommit操作;4)switch到master分支,进行gitpull操作;5)switch到mysrc分支,进行gitmergefrommaster操作;6)gitcommit操作。3修改了代码,但仅想上传部分代码,其余代码保留同服务器版本。1)在master上创建分支mysrc;2)switch到mysrc分支,进行代码修改;3)修改好后,对部分代码进行gitcommit操作;4)进行gitrebase操作,将其他代码还原;5)switch到master分支,进行gitmergefrommysrc操作;6)gitpush操作。

Ⅳ git服务器端有几种办法

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

1. 检查电子邮件或其他方式来检查提交状态的平均开发人员。

2. 修补程序并解决冲突(您自己或要求开发人员稍后重新提交它,如果它是一个开源项目,请确定哪些修补程序可以工作,哪些不能)。

3.将结果提交到公共服务器,然后通知所有开发人员。

(4)git还原服务器版本扩展阅读:

Git的优缺点:

优点:

1. 适合分布式开发,强调个人。

2. 公共服务器压力和数据量不是太大。

3.快速和灵活。

4.任何两个开发人员之间的冲突都可以很容易地解决。

5. 离线工作。

缺点:

1. 数据很少(至少是中文)。

2. 学习周期相对较长。

3.不符合传统思维。

4. 可怜的代码的机密性。一旦开发人员克隆了整个库,所有代码和版本信息都可以完全公开。

Ⅳ 如何使用Git管理本地代码版本

那些xml文件是分支配置的文件,使用的话直接init 后再sync就可以了repo init git地址 -b 分支名 -m xml文件名repo sync如果要将本地代码回到某个历史版本直接checkout 或者 resetcheckout 支持将文件切换到历史版本,数据库不会修改,还可以回到你最新的状态reset 是直接回退带指定版本,它有两种模式 一种是只将所有提交回退,修改还在,还有一种模式是完全回退,修改直接就没了。repo forall -c git chekout 指定节点的哈希值repo forall -c git reset 指定节点的哈希值repo forall -c git reset 指定节点的哈希值 –hard (此操作会回退掉指定节点之后的所有修改,如果回退出错 只能重新跟服务器同步了。)希望我的回答能帮助你

Ⅵ git reset退回指定版本后,怎么提交上服务器

这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的.大致分为下面2种情况:1.没有push这种情况发生在你的本地代码仓库,可能你add ,commit 以后发现代码有点问题,准备取消提交,用到下面命令resetgit reset [–soft | –mixed | –hard上面常见三种类型–mixed会保留源码,只是将git commit和index 信息回退到了某个版本.git reset 默认是 –mixed 模式 git reset –mixed 等价于 git reset–soft保留源码,只回退到commit 信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.–hard源码也会回退到某个版本,commit和index 都回回退到某个版本.(注意,这种方式是改变本地代码仓库源码)当然有人在push代码以后,也使用 reset –hard <commit…> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现权是冲突…..所以,这种情况你要使用下面的方式2.已经push对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令revertgit revert用于反转提交,执行evert命令时要求工作树必须是干净的.git revert用一个新提交来消除一个历史提交所做的任何修改.revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新.(这里不会像reset造成冲突的问题)revert 使用,需要先找到你想回滚版本唯一的commit标识代码,可以用 git log 或者在adgit搭建的web环境历史提交记录里查看.git revert 通常,前几位即可git revert c011eb3git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit看似达到的效果是一样的,其实完全不同.第一:上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.第二:如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.第三:reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.

Ⅶ 什么是git服务器

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

(7)git还原服务器版本扩展阅读:

Git的优缺点:

优点:

1、适合分布式开发,强调个体。

2、公共服务器压力和数据量都不会太大。

3、速度快、灵活。

4、任意两个开发者之间可以很容易的解决冲突。

5、离线工作。

缺点:

1、资料少(起码中文资料很少)。

2、学习周期相对而言比较长。

3、不符合常规思维。

4、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

Ⅷ 如何撤销git reset

在使用Git的过程中,有时候会因为一些误操作,比如reset、rebase、merge等。特别是在Commit之后又执行了git reset –hard HEAD强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时自己的Commmit记录也消失了。碰到这种情况,不要慌,我们在Git上做的任何操作都只是在原来之前的操作上做修改,并且会被记录下来保存,也就是说无论你做了什么,对于Git来说都可以进行回滚操作。

Ⅸ git版本管理好用吗

git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的updategit add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb'git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m "story #3, add user model"',提交的时候必须用-m来输入一条提交信息git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert ',Git的版本号都是生成的一个哈希值git log:查看历史日志

Ⅹ 如何在Linux下使用Git

Git是一款开源分布式版本控制系统,能够帮助Linux管理内核开发,那么Linux要如何使用Git,下面就是Linux使用Git的方法:

*初始化git仓库,使用git init命令

*添加文件到git仓库分两步:

1、使用git add filename ;可分多次使用,添加多个文件到暂存区

2、使用git commit -m “说明” ;完成提交到分支

*查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容

*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。

*回退版本:使用git log查看提交历史;使用git log –pretty=oneline 精简显示

使用git reset –hard commit_id 回退到版本号为commit_id的版本

*回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git reset hard commit_id 返回即可。

*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。

*撤销修改:

1、如果文件还在工作区,即没有add也没有commit,则使用git checkout — filename 还原到服务器版即可;

2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;

3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;

4、如果已经push到远程仓库,就麻烦了

*删除使用以下命令:

1、git rm filename 从工作区删除

2、git commit -m ”说明“ 更新分支中文件进行删除

将在工作区的文件删除之后,可以使用git checkout — filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。

*分支:

1、创建分支

git checkout -b branchname 创建并切换到改分区,相当于一下两个命令:

git branch branchname 创建分支

git checkout branchname 切换到分区

2、查看当前指向的分支:git branch 会列出所有分支,当前指向的分支之前多了个*

3、切换分支就是git checkout branchname

4、合并分支:git merge branchname 合并branchname到当前分支

5、删除分支:git branch -d branchname 删除branchname分支

注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全; 这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。

*冲突解决:

git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并

使用git log –graph 可以查看分支合并图。

*保存工作现场 git stash 保存之后就可以进行其他工作 而不影响上次的修改

恢复工作现场:

1、git stash apply 恢复时并不删除stash中内容

2、git stash pop 恢复时会删除stash中的内容

*远程库信息产看使用git remote (-v)加上-v显示信息更加详细

*分支推送到远程库:即将所有本地的提交推送到远程库

git push origin(远程库名) master (要推送的分支)

*抓取分支:git pull ; git clone

*协作模式:

1、使用git push origin branchname 推送自己的修改

2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并

3、如果合并有冲突,解决冲突,在本地提交

4、再推送

注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch –set -upstream branch origin/branchname

*在本地创建与远程对应的分支:git branch -b branchname origin/branchname 本地与远程分支的名称最好一致

*创建标签

1、打标签git tag name 默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

2、显示标签:git log -pretty=oneline –abbrev -commit

git tag tag_name commit_id

3、查看标签:git tag 显示所有标签

4、查看标签信息:git show tag_name

5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字

*操作标签:git tag -d tag_name 删除标签

推送标签到远程库:git push origin tag_name

一次推送所有标签到远程库:git push origin –tag

上面就是Linux使用Git的方法了。


赞 (0)