笔记 : 将本地项目上传到GitHub

  一、准备工作

    1. 注册github账号https://github.com, 安装git工具 https://git-for-windows.github.io/

    2. 创建SSH KEY(由于本地Git仓库和Github仓库之间的传输是通过SSH加密, 需要设置加密连接,如已经创建跳过, 于C:Users用户名.ssh目录下id_rsa和id_rsa.pub, 如没有通过命令行创建)

      (1)运行命令 $ ssh-keygen -t rsa -C "注册的github邮箱"

      (2) 一直按回车键知道运行结束,查看C:Users用户名下生成.ssh目录

      (3) 登录github添加SSH KEY 

        Settings -> SSH and GPG KEYS -> SSH keys -> New SSH key

        

        (4) 将id_rsa.pub文件内的内容复制到 Key框中, Title可以自定义, 点击Add SSH key,至此本地与github连接成功。

  二、上传项目

    方法一 : 

    1. 进入github首页 , 点击右上角“+”开始创建仓库(New repository)

    2. 填写相关信息(    

      Repository name: 仓库名称

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

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

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

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

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

       

    3. 填写完毕 Create repository,点击 Clone or download , 选择复制仓库地址或者下载ZIP压缩包

      

    4. 克隆仓库到本地,在需要创建项目的目录下打开git bash命令行工具 ,执行命令 : git clone  https://github.com/hughes5135/Test.git

    5. 克隆完毕, 进入Test目录并创建和编写项目文件(如: index.html)

    6. 将本地项目同步至github : 项目根目录下打开git bash命令工具, 依次输入以下命令      

      git status       ( 注 : 查看当前仓库状态, 红色表示还未上传同步的文件)

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

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

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

    

    

    最后即可在gitbuh的Test仓库页上看到index.html

    

  方法二 : (其实类似方法一,顺序有些变化而已)

    1. 在本地新建仓库目录并初始化

      $ mkdir Test & cd Test

      $ git init

      $ touch index.html

    2. 在github新建仓库Test, 注: 此时不要自动创建README,如勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错

    3. 开始上传项目

      $ git add . 

      $ git commit -m "描述"

    4. github仓库关联到本地仓库

      $ git remote add origin https://github.com/hughes5135/Test.git

    5. 本地仓库push到远程仓库 ,第一次push需要参数 -u , 因为此时远程仓库是空的

      $ git push -u origin master

    6. push成功,可在github仓库上看到index.html文件

附git bash 常用命令 : 

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

 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 # 恢复最后一次提交的状态

查看提交记录

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 #查看提交统计信息

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

 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

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补丁管理(方便在多台机器上开发同步时用)

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暂存管

 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所有分支

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远程仓库管

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> # 删除远程仓库

创建远程仓库

 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分支

14 git branch --set-upstream master origin/master
15 git branch --set-upstream develop origin/develop

   

原文地址:https://www.cnblogs.com/hughes5135/p/8641074.html