github使用

来源:互联网 发布:江苏卫视网络电视台 编辑:程序博客网 时间:2024/06/05 21:03

完成注册,进入github平台,

新建仓库

点击new repositories

新建一个新项目(你也可以加入到一个已有的项目)


新建项目的操作,其实很简单,输入项目名就可以直接Create了

如图

 

然后:

 

然后可以选择:

 

1下载github for windows 使用客户端clone仓库,会自动生成一个ssh秘钥。

或者

 

2.使用git bash clone:

首先设置git的user name和email (我之前已经在tortoise git中设置好了)

 

然后手动生成ssh秘钥:

ssh-keygen -C 'xxxx@email.com' -t rsa

按3个回车,密码为空

 

在user文件夹里.ssh文件夹内找到id_rsa.pub公钥文件,复制内容至github

 

然后进入本地一个目录,右键打开git bash

 

git clone + github中复制的仓库地址(git@github.com:xxxxx)


2.1使用tortoise git:

由于之前已经使用tortoise git作为本地的项目管理工具,在此就不再介绍tortoise git相关的配置,可以参见上篇。

由于tortoise git的内核是git,在git中已经设置过了秘钥,因此,不用再设置。

项目管理一般步骤为:

1 在github中建立一个仓库

2 用tortoise git clone回本地

3 增加文件,编辑等

3 右键有git commit选项,可以选择commit哪些文件进缓存,对应于git bash中的git add git commit等操作

4 push推送到github远程仓库

ps:本地需要与远端保持更新用fetch,将远端的最新版本更新过来,pull = fetch + merge

merge时候是需要选择远程的为merge对象,本地作为master分支,

如果没有冲突的话,merge完成。有冲突的话,git会提示那个文件中有冲突,例如:

<<<<<<< HEAD:test.c

printf (“test1″);

=======

printf (“test2″);

>>>>>>> remotes/origin/HEAD

可以看到 ======= 隔开的上半部分,是 HEAD(即 master 分支,在运行 merge 命令时检出的分支)中的内容,下半部分是在 远程分支中的内容。然后可以人工解决



修改提交记录

在SVN中,提交记录是无法修改的。比如说,当我们提交了某次修改后,发现该次提交中有错误时,只能将将补丁再次提交一遍。这样,就存在两次提交记录,没有保证提交的原子性。

在GIT中,由于提交是在本地进行的,因此如果没有发布之前,是允许使用reset命令来撤销提交记录的,这个命令有如下三种使用方式:

  1. git reset -soft: 只撤销commit,保留working tree和index file。
  2. git reset -mixed: 撤销commit和index file,保留working tree
  3. git reset -hard: 撤销commit、index file和working tree,即撤销销毁最近一次的commit

默认是-mixed,不过我没有看出来mixed和soft有什么区别,都是把日志历史给reset了,内容保持不变。而hard则是把日志连同内容一起回退了,类似于回滚。

日志可以reset的好处是:可以随时commit,这样就不用担心后面的修改影响到前面,commit日志也可以不用填得很规范。每完成一个迭代后,再把之前的所有commit全部给reset掉,重新写一个能正规的注释,发布到服务器。

具体使用:git reset HEAD~n(n是删除记录的个数,这样,修改是保留的,重新commit一次作为最终版然后push到远程)

修改已经发布的修改

如果你的提交已经发布,reset后发布时会将服务器上的提交记录给同步下来,进行一次merge后再次发布。此时就GIT的工作方式是和SVN一样的了。此时,如果要修改服务器段的提交记录,则可以使用使用了园子里的一篇文章:Git如何永久删除文件(包括历史记录)中介绍的强制推送的命令:

    git push origin master --force

先reset,本地提交后,用该命令强制发布,此时服务器的提交记录就会被被本地提交记录覆盖。

需要注意的是:修改已经发布的提交是有很大的有风险的,会导致无法回退到历史版本。这也是SVN不允许修改提交记录的原因。虽然GIT提供了这个命令,但不到万不得已的时候不建议使用它。


 

 

删除仓库

点击进入你要删除的repository,点击右边的setting进入如下界面:


拉至最下面,


Delete。需要输入repository的名字进行确认。



0 0
原创粉丝点击