Git和Github的配合使用

时间:2021-09-18 16:21:37

Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git 本地仓库详解 http://www.linuxidc.com/Linux/2014-09/106234.htm

Git Shell cmd使用笔记 http://stone.leanote.com/post/GitShellcmd%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0

GitHub for Windows 2.0使用教程 http://www.cnblogs.com/imhaiyang/p/3983552.html

一、Git部署java项目:

已经写好的java项目,打算部署到github,所有有了这个帖子

1、如果是第一次提交,Git需要和github通过sshkeygen建立关联

否则报错:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly  

(1)在git客户端输入:ssh-keygen,一直enter键,根据提示找到id_rsa/id_rsa.pub的生成目录

(2)复制id_rsa.pub的内容,打开github网页,右上角Edit Profile-->>左侧栏SSH-->>NEW SSH Key

(3)

2、进入java项目-->>git init-->>直接git remote add origin git@github.com: ... -->>git push -u origin master -->>报错 error:src refspec master does not match any,原因是没有add,commit

然后在github新建一个对应仓库,到本地项目目录下执行下列命令

git add . //将java目录下所有文件添加到暂存区
git commit -m 'first commit' // 把暂存区的所有内容提交到当前分支
git remote add origin  git@github.com:wangwanchao/仓库名.git //这一步主要是把自己本地仓库和远程仓库关联起来
git push -u origin master  //把本地仓库内容推送到远程仓库
 //终于提交成功  

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

明确声明后面内容转自http://bbs.phpchina.com/blog-83128-195102.html

二、Git的一些常用操作

1、创建库
git init <库名>

2、创建分支 (打开刚创建的库: cd <库名>)

git branch <分支名>
注:如果创建分支失败,建立一个测试文本文件即可。
1) git add .
2) git commit -a -m "test"
 
3、切换分支
git checkout <分支名> 
该语句和上一个语句可以和起来用一个语句表示:git checkout -b <分支名>
 
4、查看当前库所有分支
git branch
 
5、分支合并
比如,如果要将当前的分支develop,合并到主分支master
首先我们需要切换到master主分支:git checkout master
然后执行合并操作:git merge develop
如果有冲突,会提示你,调用git status查看冲突文件。 
解决冲突,然后调用git add或git rm将解决后的文件暂存。 
所有冲突解决后,git commit 提交更改。
6、分支衍合
分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志。 
要将开发中的分支develop,衍合到主分支master
首先切换的master分支:git checkout master
然后执行衍和操作:git rebase develop
如果有冲突,会提示你,调用git status查看冲突文件。 
解决冲突,然后调用git add或git rm将解决后的文件暂存。 
所有冲突解决后,git rebase –continue 提交更改。
7、删除分支
git branch -d <分支名> 
如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>
8、删除库
rm -rf <库名>