GIT将本地项目上传到Github(两种简单、方便的方法)

GIT将本地项目上传到Github(两种简单、方便的方法)

1、第一种方法:javascript

 

首先你须要一个github帐号,全部尚未的话先去注册吧!html

https://github.com/java

咱们使用git须要先安装git工具,这里给出下载地址,下载后一路直接安装便可:git

https://git-for-windows.github.io/github

1.进入Github首页,点击New repository新建一个项目windows

 2.填写相应信息后点击create便可 ruby

Repository name: 仓库名称bash

Description(可选): 仓库描述介绍服务器

Public, Private : 仓库权限(公开共享,私有或指定合做者)app

Initialize this repository with a README: 添加一个README.md

gitignore: 不须要进行版本管理的仓库类型,对应生成文件.gitignore

license: 证书类型,对应生成文件LICENSE

 

4.点击Clone or dowload会出现一个地址,copy这个地址备用。

5.接下来就到本地操做了,首先右键你的项目,若是你以前安装git成功的话,右键会出现两个新选项,分别为Git Gui Here,Git Bash Here,这里咱们选择Git Bash Here,进入以下界面,Test_Bluetooth即为个人项目名。

6.接下来输入以下代码(关键步骤),把github上面的仓库克隆到本地

git clone https://github.com/CKTim/BlueTooth.git(https://github.com/CKTim/BlueTooth.git替换成你以前复制的地址)

 7.这个步骤之后你的本地项目文件夹下面就会多出个文件夹,该文件夹名即为你github上面的项目名,如图我多出了个Test文件夹,咱们把本地项目文件夹下的全部文件(除了新多出的那个文件夹不用),其他都复制到那个新多出的文件夹下,

8.接着继续输入命令 cd Test,进入Test文件夹

9.接下来依次输入如下代码便可完成其余剩余操做:

git add .        (注:别忘记后面的.,此操做是把Test文件夹下面的文件都添加进来)

git commit  -m  "提交信息"  (注:“提交信息”里面换成你须要,如“first commit”)

git push -u origin master   (注:此操做目的是把本地仓库push到github上面,此步骤须要你输入账号和密码)

 

 

2、第二种方法:

 

 

第一步:咱们须要先建立一个本地的版本库(其实也就是一个文件夹)。

       你能够直接右击新建文件夹,也能够右击打开Git bash命令行窗口经过命令来建立。

       如今我经过命令行在桌面新建一个TEST文件夹(你也能够在其余任何地方建立这个文件夹),而且进入这个文件夹

                                          

        

       第二步:经过命令git init把这个文件夹变成Git可管理的仓库

       

       这时你会发现TEST里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。若是你看不到,是由于它默认是隐藏文件,那你就须要设置一下让隐藏文件可见。

       

       第三步:这时候你就能够把你的项目粘贴到这个本地Git仓库里面(粘贴后你能够经过git status来查看你当前的状态),而后经过git add把项目添加到仓库(或git add .把该目录下的全部文件添加到仓库,注意点是用空格隔开的)。在这个过程当中你其实能够一直使用git status来查看你当前的状态。

       

       

       这里提示你虽然把项目粘贴过来了,但尚未add到Git仓库上,而后咱们经过git add .把刚才复制过来的项目所有添加到仓库上。

       

       

        第四步:用git commit把项目提交到仓库。

        

        -m后面引号里面是本次提交的注释内容,这个能够不写,但最好写上,否则会报错,详情自行Google。 好了,咱们本地Git仓库这边的工做作完了,下面就到了链接远程仓库(也就是链接Github)

      因为本地Git仓库和Github仓库之间的传输是经过SSH加密的,因此链接时须要设置一下:

      第五步:建立SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就经过下面命令建立

 $ ssh-keygen -t rsa -C "youremail@example.com"

       而后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件   

       

      第六步:登陆Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,而后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:

       

       

    

        第七步:在Github上建立一个Git仓库。

     你能够直接点New repository来建立,好比我建立了一个TEST2的仓库(由于我里面已经有了一个test的仓库,因此不能再建立TEST仓库)。

   

        第八步:在Github上建立好Git仓库以后咱们就能够和本地仓库进行关联了,根据建立好的Git仓库页面的提示,能够在本地TEST仓库的命令行输入:

$ git remote add origin https://github.com/guyibang/TEST2.git

        

        注意origin后面加的是你Github上建立好的仓库的地址。

        

      第九步:关联好以后咱们就能够把本地库的全部内容推送到远程仓库(也就是Github)上了,经过:

$ git push -u origin master

       因为新建的远程仓库是空的,因此要加上-u这个参数,等远程仓库里面有了内容以后,下次再从本地库上传内容的时候只需下面这样就能够了:

$ git push origin master

        上传项目的过程可能须要等一段时间,完成以后是这样的:

        

        这时候你再从新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了:

      

        至此就完成了将本地项目上传到Github的整个过程。

      另外,这里有个坑须要注意一下,就是在上面第七步建立远程仓库的时候,若是你勾选了Initialize this repository with a README(就是建立仓库的时候自动给你建立一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。

      

      这是因为你新建立的那个仓库里面的README文件不在本地仓库目录中,这时咱们能够经过如下命令先将内容合并如下:

$ git pull --rebase origin master

       

       这时你再push就能成功了。

 

     总结:其实只须要进行下面几步就能把本地项目上传到Github

     一、在本地建立一个版本库(即文件夹),经过git init把它变成Git仓库;

     二、把项目复制到这个文件夹里面,再经过git add .把项目添加到仓库;

     三、再经过git commit -m "注释内容"把项目提交到仓库;

     四、在Github上设置好SSH密钥后,新建一个远程仓库,经过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;

     五、最后经过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动建立了README文件会报错,解决办法看上面)。

 

 

3、Git命令

查看、添加、提交、删除、找回,重置修改文件

 

[javascript]  view plain  copy
 
  1. git help <command> # 显示command的help  
  2.   
  3. git show # 显示某次提交的内容 git show $id  
  4.   
  5. git co -- <file> # 抛弃工做区修改  
  6.   
  7. git co . # 抛弃工做区修改  
  8.   
  9. git add <file> # 将工做文件修改提交到本地暂存区  
  10.   
  11. git add . # 将全部修改过的工做文件提交暂存区  
  12.   
  13. git rm <file> # 从版本库中删除文件  
  14.   
  15. git rm <file> --cached # 从版本库中删除文件,但不删除文件  
  16.   
  17. git reset <file> # 从暂存区恢复到工做文件  
  18.   
  19. git reset -- . # 从暂存区恢复到工做文件  
  20.   
  21. git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的全部本次修改  
  22.   
  23. git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操做都合并在一块儿作                                    git ci -am "some comments"  
  24.   
  25. git ci --amend # 修改最后一次提交记录  
  26.   
  27. git revert <$id> # 恢复某次提交的状态,恢复动做自己也建立次提交对象  
  28.   
  29. git revert HEAD # 恢复最后一次提交的状态  

 


查看文件diff

 

[javascript]  view plain  copy
 
  1. git help <command> # 显示command的help  
  2.   
  3. git show # 显示某次提交的内容 git show $id  
  4.   
  5. git co -- <file> # 抛弃工做区修改  
  6.   
  7. git co . # 抛弃工做区修改  
  8.   
  9. git add <file> # 将工做文件修改提交到本地暂存区  
  10.   
  11. git add . # 将全部修改过的工做文件提交暂存区  
  12.   
  13. git rm <file> # 从版本库中删除文件  
  14.   
  15. git rm <file> --cached # 从版本库中删除文件,但不删除文件  
  16.   
  17. git reset <file> # 从暂存区恢复到工做文件  
  18.   
  19. git reset -- . # 从暂存区恢复到工做文件  
  20.   
  21. git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的全部本次修改  
  22.   
  23. git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操做都合并在一块儿作                                    git ci -am "some comments"  
  24.   
  25. git ci --amend # 修改最后一次提交记录  
  26.   
  27. git revert <$id> # 恢复某次提交的状态,恢复动做自己也建立次提交对象  
  28.   
  29. git revert HEAD # 恢复最后一次提交的状态  



查看提交记录

 

 

[javascript]  view plain  copy
 
  1. git log git log <file> # 查看该文件每次提交记录  
  2.   
  3. git log -p <file> # 查看每次详细修改内容的diff  
  4.   
  5. git log -p -2 # 查看最近两次详细修改内容的diff  
  6.   
  7. git log --stat #查看提交统计信息  

 

 

tig

Mac上可使用tig代替diff和log,brew install tig


Git 本地分支管理
查看、切换、建立和删除分支

 

[javascript]  view plain  copy
 
  1. git br -r # 查看远程分支  
  2.   
  3. git br <new_branch> # 建立新的分支  
  4.   
  5. git br -v # 查看各个分支最后提交信息  
  6.   
  7. git br --merged # 查看已经被合并到当前分支的分支  
  8.   
  9. git br --no-merged # 查看还没有被合并到当前分支的分支  
  10.   
  11. git co <branch> # 切换到某个分支  
  12.   
  13. git co -b <new_branch> # 建立新的分支,而且切换过去  
  14.   
  15. git co -b <new_branch> <branch> # 基于branch建立新的new_branch  
  16.   
  17. git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其余分支会自动删除  
  18.   
  19. git co $id -b <new_branch> # 把某次历史提交记录checkout出来,建立成一个分支  
  20.   
  21. git br -d <branch> # 删除某个分支  
  22.   
  23. git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候须要强制)  


 分支合并和reba

 

 

[javascript]  view plain  copy
 
  1. git merge <branch> # 将branch分支合并到当前分支  
  2.   
  3. git merge origin/master --no-ff # 不要Fast-Foward合并,这样能够生成merge提交  
  4.   
  5. git rebase master <branch> # 将master rebase到branch,至关于: git co <branch> && git rebase master && git co master && git merge <branch>  

 


 Git补丁管理(方便在多台机器上开发同步时用)

 

[javascript]  view plain  copy
 
  1. git merge <branch> # 将branch分支合并到当前分支  
  2.   
  3. git merge origin/master --no-ff # 不要Fast-Foward合并,这样能够生成merge提交  
  4.   
  5. git rebase master <branch> # 将master rebase到branch,至关于: git co <branch> && git rebase master && git co master && git merge <branch>  



 Git暂存管

 

 

[javascript]  view plain  copy
 
  1. git stash # 暂存  
  2.   
  3. git stash list # 列全部stash  
  4.   
  5. git stash apply # 恢复暂存的内容  
  6.   
  7. git stash drop # 删除暂存区  
  8.   
  9. Git远程分支管理  
  10.   
  11. git pull # 抓取远程仓库全部分支更新并合并到本地  
  12.   
  13. git pull --no-ff # 抓取远程仓库全部分支更新并合并到本地,不要快进合并  
  14.   
  15. git fetch origin # 抓取远程仓库更新  
  16.   
  17. git merge origin/master # 将远程主分支合并到本地当前分支  
  18.   
  19. git co --track origin/branch # 跟踪某个远程分支建立相应的本地分支  
  20.   
  21. git co -b <local_branch> origin/<remote_branch> # 基于远程分支建立本地分支,功能同上  



git push # push全部分支

 

 

[javascript]  view plain  copy
 
  1. git push origin master # 将本地主分支推到远程主分支  
  2.   
  3. git push -u origin master # 将本地主分支推到远程(如无远程主分支则建立,用于初始化远程仓库)  
  4.   
  5. git push origin <local_branch> # 建立远程分支, origin是远程仓库名  
  6.   
  7. git push origin <local_branch>:<remote_branch> # 建立远程分支  
  8.   
  9. git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),而后再push删除远程分支  



Git远程仓库管

 

 

[javascript]  view plain  copy
 
  1. git remote -v # 查看远程服务器地址和仓库名称  
  2.   
  3. git remote show origin # 查看远程服务器仓库状态  
  4.   
  5. git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址  
  6.   
  7. git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库  



建立远程仓库

 

 

[javascript]  view plain  copy
 
  1. git clone --bare robbin_site robbin_site.git # 用带版本的项目建立纯版本仓库  
  2.   
  3. scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上  
  4.   
  5. mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器建立纯仓库  
  6.   
  7. git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址  
  8.   
  9. git push -u origin master # 客户端首次提交  
  10.   
  11. git push -u origin develop # 首次将本地develop分支提交到远程develop分支,而且track  
  12.   
  13. git remote set-head origin master # 设置远程仓库的HEAD指向master分支  



也能够命令设置跟踪远程库和本地库

 

 

[javascript]  view plain  copy
 
  1. git branch --set-upstream master origin/master  
  2.   
  3. git branch --set-upstream develop origin/develop  



 


方法一转自:http://www.cnblogs.com/cxk1995/p/5800196.html

方法二转自:http://blog.csdn.net/zamamiro/article/details/70172900

相关文章
相关标签/搜索