发表于: 2017-07-18 23:44:17

1 1153


今天完成的事情:


1.  git命令行总结:


git的结构

git-stage


注:下文的file是指某一文件,例如test.txt

基本操作:

git init   在所在文件夹生成git仓库

git status   查看当前工作区状态

git add file   将工作区的文件提交到暂存区

git diff file    查看file文件多次add的差别

git diff HEAD -- file   查看file文件工作区与版本库的区别

git commit  -m""  将所有暂存区的文件一次提交到分支,-m“”为描述部分



撤销操作:

git reset HEAD file   将暂存区的file放回工作区

git checkout -- file   ①当暂存区有file时,恢复暂存区的file  ②当暂存区没有file时,恢复为分支中file的最新版本

git rm file   删掉文件,commit之后可以从版本库中移除该文件



远程部分:

ssh-keygen -t rsa -C  "youremail@exmple.com"  创建SSHkey,电脑中搜索id_rsa.pub,打开该文件复制到github的SHHkey文件中即可使用远程仓库

SSHkey地址示例


连接远程仓库的第一种方式:

使用命令行在本地仓库中键入

git remote add origin SSHkey地址


git push -u origin master   第一次推送使用此命令,关联远程仓库的master分支

git push origin master  使用上条命令后可使用简化的推送命令,推送master分支到远程仓库

git push 推送当前分支到远程仓库


连接远程库的第二种方式:

git clone SSHkey地址    命令行模式下任意文件夹执行此条命令,将克隆项目文件夹并关联master分支



分支部分:

git branch 查看本地分支

git branch dev   创建dev分支

git checkout dev    切换为dev分支

git checkout -b dev   创建并转化为dev分支

值得一说的是在没有合并的前提下,dev分支和master分支是不会互相影响的,就算把master分支的文件删光,dev也不会受到影响


git checkout master    ---->>>现将分支切换到master上

git merge dev   将dev上的文件合并到master分支上  注:此操作要切换到master上才会完成,在dev分支上操作是会失败的

git merge --no-ff -m "merge with no-ff" dev  使用no-ff方式合并分支,作用是合并后自动生成commit,可以在分支线上看出合并过

git log --graph --pretty=oneline --abbrev-commit 查看commit操作


git branch -d dev 删除dev分支

git branch -D dev  删除dev提示失败时,使用此命令强制销毁


储存工作区部分:

git stash   储存工作区文件

git stash list 查看储存列表

git stash apply 恢复上一次储存的文件(不删除储存文件)

git stash drop  删除上次的储存文件

git stash pop    恢复上一次储存的文件(并删除储存文件)

git stash apply stash@{0}  恢复编号为0的储存文件


版本操作部分:

标签:

切换到想要打标签的分支上

git tag v1.0 将v1.0打在最近一次提交的commit上

git reflog 查看所有操作的数字串

git log --pretty=oneline --abbrev-commit  查询commit id

git tag v1.0 commit id 将v1.0标签打在commit id所在的commit上

git show v1.0   查看标签v1.0的详细信息

git tag -d v1.0 删除标签v1.0

git push origin v1.0  推送v1.0到远程

git push origin --tags 推送所有未推送过的tag到远程


版本切换!!!!

git reset --hard HEAD^  回退到上一个版本(多少个^回退多少个版本)

git reset --hard commit id 切换到commit id版本

git reset --hard v1.0 切换到v1.0版本



删除远程标签:

git tag -d v0.9 先删本地

git push origin :refs/tags/v0.9  再删远程


把命令行学会了桌面版就很简单了,而且桌面版功能有很多简化过,就不细说了


idea中的git使用

打开项目——>设置——>Git设置好


VCS——>导入版本控制——>Create Git Repository          在将项目文件夹初始化为本地仓库

VCS——>导入版本控制——>Share Project on Github      设置github账号后直接在github上创立项目,这个最为简单


在想要上传的文件上选择,右键

add——>commit文件..

勾选已经add好,想要上传的文件,commit and push


文件就那么简单的上传成功了!

可喜可贺,可喜可贺


2.  完成了mybatis的XML方式与注解方式操作数据库


项目结构,这次按要求来了


UserDao(interface)

public interface UserDao {
   void insertUser();

   @Insert("INSERT INTO user(user_name,password,sex)VALUE (#{userName},#{password},#{sex});")
   void insertUserByAnnotation(String userName,String password,int sex);
}


User 略 普通的get和set


UserDao.xml

<mapper namespace="cn.summerwaves.dao.UserDao">
   <insert id="insertUser" parameterType="cn.summerwaves.domain.User">
       INSERT INTO user(user_name,password,sex)VALUE (#{userName},#{password},#{sex})
   </insert>
</mapper>


mybatis-config.xml

<configuration>
   <properties resource="jdbc.properties"/>
   <environments default="mysql">
       <environment id="mysql">
           <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
               <property name="driver" value="${driver}"/>
               <property name="url" value="${url}"/>
               <property name="username" value="${username}"/>
               <property name="password" value="${password}"/>
           </dataSource>
       </environment>
   </environments>

   <mappers>
       <mapper class="cn.summerwaves.dao.UserDao"/>
       <mapper resource="cn/summerwaves/mapper/UserDao.xml"/>
   </mappers>
</configuration>


调用XML和注解两种方式的Test

public class UserDaoTest {
private SqlSessionFactory factory;
   private SqlSession session;


   @Before
   public void setUp() throws Exception {
       String resource = "mybatis-config.xml";
       factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(resource));
       session = factory.openSession();
   }



   @Test
   public void insertUserByXML() throws Exception {
       User user = new User();
       user.setUserName("username");
       user.setPassword("password");
       user.setSex(1);
       session.insert("cn.summerwaves.dao.UserDao.insertUser", user);
       System.out.println("add user by XML");
   }

   @Test
   public void insertUserByAnnotation() throws Exception {
       User user = new User();
       user.setUserName("username");
       user.setPassword("password");
       user.setSex(1);
       session.insert("cn.summerwaves.dao.UserDao.insertUserByAnnotation", user);
       System.out.println("add user by annotation");
   }

   @After
   public void teardown() throws Exception {
       session.commit();
       session.close();

   }


}


明天计划的事情:

把任务1完结,开始学习SpringMVC和Rest风格接口


遇到的问题:

中途mybatis代码运行不了,后来是发现mybatis-config.xml部分写错了,具体写法

class没有斜杠,对应地址是dao层的UserDao

resource用斜杠,对应地址是mapper层的xml


收获:

git命令行使用了好几次,挺熟练了;

idea上的github工具很简单;

mybatis的XML和注解的方式都了解了,但是还不是很熟练


返回列表 返回列表
评论

    分享到