如果是第一次使用需要设置一下用户名密码,设置公钥私钥
先切换,cd
git config --global user.name "********************"
git confit --global user.email "**************************"
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
这个邮箱只是名称, 按提示完成3次回车可生成sshkey
cat ~/.ssh/id_ed25519.pub
复制生成的sshkey 在gitee--管理--部署公钥管理--添加部署公钥 添加到仓库中
1.从远程仓库拉项目: git clone 复制过来的ssh码
cd 加文件夹名/ 转到项目文件夹内
一般拉的代码是在master分支,但开发可能是在dev分支或者在自己的单独分支,红框圈出的就是当前所在的分支,
新建分支并切换到对应分支: git checkout -b "Stacey"
这样就切换到了Stacey分支了
如果远程仓库有这个分支并需要拉最新代码则: git pull origin Stacey
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列表中的信息进行删除。
1.我们可以先看看提交的记录: git log 可以看到每一条提交记录的id,提交说明,和提交时间等信息
2.回到指定版本: git reset --hard 版本id
3.回到head版本: git reset --hard HEAD^
git reset --hard HEAD^
大部分情况提交还是正常的,但也曾经遇到过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分支回退版本,再从远程自己分支拉最新代码就好了.
我们是内网开发而且没有中断项目,不知道是不是这个有关系, 因为我发现中断项目后切分支就不会出现这个问题,但是由于我们项目比较大启项目时间太长,所以一般我是宁愿解决的.好像这两种问题遇到的概率不会很频繁.