Git的使用
-
安装GIT 打开之后 直接全部下一步就行 不需要去选择
-
到你要下载项目的目录然后右键
-
然后输入你的名字邮箱
git config --global user.name "songanwei"
git config --global user.email "songanwei@guigeinvest.com"
-
生成ssh-key
ssh-keygen -t rsa -C "songanwei@gugeinvest.com"
执行完命令 直接回车回车回车 不用设置任何东西
-
找到生成的id_rsa.pub文件 以文本形式打开并复制
C:\Users\songa\.ssh
-
登陆到gitlab服务器http://192.168.1.188
账户是姓名 密码12345678 登陆后修改密码
登陆后点击 个人资料设置
点击SSH密钥
把刚才复制的密钥 复制到里面 并增加密钥
然后点击项目菜单 找到 mis项目 打开
复制项目GIT地址
并去执行一下命令
git clone git@192.168.1.188:root/mis.git
到此 项目已经克隆下来了.
-
下载小乌龟tortoisegit 以及它的中文包
https://tortoisegit.org/download/
下一步 下一步 到
选择 OpenSSH
安装完成后 打开刚才下载的中文包 下一步 完成
设置
-
安装完成后 正常开发流程
-
有master分支, test分支,dev分支 task1,task2,task3…. Bug1,bug2,bug3..
-
Master 分支是生产分支 test分支是测试分支 dev分支是开发分支
-
一般我们在dev上进行开发代码
-
当领到任务或BUG后 我们从dev上切出一个任务分支 然后修改代码 修改完成后提交代码 推送到远程服务器 合并dev分支之前 先把dev上的代码合并到自己的分支上 再进行在服务器上提交合并请求 让管理员去通过并合并代码.
-
-
操作:
Git工作方式 分工作区 暂存区 以及已提交的master分支
git add命令可以将工作区的内容添加到暂存区用以跟踪该文件的改动,git commit是将暂存区的内容同步到master分支
命令方式:
检查修改状态:
git status
添加到暂存区
git add . 添加全部文件到暂存区
git add test.txt 添加某个文件或文件夹到暂存区
提交代码 git commit -m '测试提交代码'
检查状态 是否都提交完成
如果是新分支 则把分支 推送到远程
git push --set-upstream origin dev
否则 只需 git push 代码就行
-
完整流程:
小乌龟流程:
领到任务
然后去修改你的代码
修改完成后
可以选择提交 也可以选择提交并推送到远程
查看 日志:
如果你正在改代码 突然出现紧急BUG 让你修复 你可以 git stash save -- "日志"命令 进行储藏 git stash pop 恢复你最新的储藏
小乌龟:
弹出储藏是 git stash pop
储藏列表是 git stash list
-
分支列表
git branch
创建分支 git branch 分支名
切换分支 git checkout 分支名
创建并切换分支 git checkout –b 分支名
重命名本地分支:git branch -m devel develop
#查看本地都有哪些分支
git branch
#查看所有的分支,包括远程的
git branch -a
#删除本地的某个分支
git branch -D hongchangfirst
#删除远程的分支
git branch -r -d origin/hongchangfirst
#注意这个只是删除本地的索引,而不是真正删除远程分支的内容,要想真正删除远程分支上的内容,可以这样:
git push origin :hongchangfirst
小乌龟:
-
日志操作:
git log
-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
git log -p -2
小乌龟:
-
还原操作:
eset命令有3种方式:
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
以下是一些reset的示例:
(1) 回退所有内容到上一个版本
git reset HEAD^
(2) 回退a.py这个文件的版本到上一个版本
git reset HEAD^ a.py
(3) 向前回退到第3个版本
git reset –soft HEAD~3
(4) 将本地的状态回退到和远程的一样
git reset –hard origin/master
(5) 回退到某个版本
git reset 057d
(7) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit
git revert HEAD
小乌龟: