Java教程

git常用命令汇总及文件丢失问题处理

本文主要是介绍git常用命令汇总及文件丢失问题处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、准备工作

如果是第一次使用需要设置一下用户名密码,设置公钥私钥

1.设置账号和Email:

先切换,cd

git config --global user.name "********************"

git confit --global user.email "**************************"

2.生成ssh公钥:

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"  

这个邮箱只是名称, 按提示完成3次回车可生成sshkey 

3.查看key:

cat ~/.ssh/id_ed25519.pub

复制生成的sshkey 在gitee--管理--部署公钥管理--添加部署公钥 添加到仓库中

二、正式使用

1.从远程仓库拉项目: git clone 复制过来的ssh码

 cd 加文件夹名/  转到项目文件夹内

 2.切换分支:git checkout dev

 一般拉的代码是在master分支,但开发可能是在dev分支或者在自己的单独分支,红框圈出的就是当前所在的分支,

2.查看所有分支:git branch -a

 

 3.切换到dev分支然后拉最新的代码: git pull 

新建分支并切换到对应分支: git checkout -b "Stacey"

这样就切换到了Stacey分支了

如果远程仓库有这个分支并需要拉最新代码则: git pull origin Stacey

3.提交

1.先 git add .

2.git commit -m "提交说明"

3.git push origin Stacey

4.如果要把自己分支的代码合并到dev

  则: git checkout dev   先切换到dev分支

      git pull origin Stacey  再拉自己分支的代码

       git push    再提交就到dev

5.如果提交了才发现忘了切回自己的分支开发此时不要git add 也不要commit 则可以 :

git stash     可以将代码暂存

git chekout Stacey  然后切换回自己的分支

git stash pop  或者git stash apply 将暂存的恢复

使用git stash命令之后会在stash列表中生成一个对应的信息,区别是:使用apply命令恢复,stash列表中的信息是会继续保留的,而使用pop命令进行恢复,会将stash列表中的信息进行删除。

 4.版本回退

1.我们可以先看看提交的记录: git log      可以看到每一条提交记录的id,提交说明,和提交时间等信息

 2.回到指定版本:   git reset --hard 版本id

3.回到head版本: git reset --hard HEAD^

 git reset --hard HEAD^

5.遇到过的问题

大部分情况提交还是正常的,但也曾经遇到过2个奇怪的问题:

1. 我在dev开发之后需要将代码合并到远程分支,但是 我在git commit -m "****" 之后 ,拉最新的代码 git pull  之后,出现了一堆的create files failed 之类的报错,然后就发现许多文件被默名删除了,但我和同事都没有删除那些文件,并且再次拉代码也无效还是显示那些文件删了,反而会报合并错误需要手动合并,但此时不能合并,

此时最稳妥的方式是先把自己之前commit过的那些文件都拷贝一份以防丢失,然后 进行版本回退,如果在提交列表中能找到之前commit的那一条则回退到那一条就可以恢复,如果找不到那条就

git reset --hard HEAD^ 回到head , 然后就能找回那些莫名被删除的文件了,再把自己之前copy出来的那些文件复制过去,再重新提交就没有问题了.

2.在自己分支开发,然后要合并到dev和test分支,在切换到dev或在test分支后其实也是遇到上面那个问题,很多文件默默被删除,这种情况比上面那种好点的就是已经有push到远程自己分支了,所以只需要把dev或者test分支回退版本,再从远程自己分支拉最新代码就好了.

我们是内网开发而且没有中断项目,不知道是不是这个有关系, 因为我发现中断项目后切分支就不会出现这个问题,但是由于我们项目比较大启项目时间太长,所以一般我是宁愿解决的.好像这两种问题遇到的概率不会很频繁.

这篇关于git常用命令汇总及文件丢失问题处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!