✌ 作者名字:高峰君主
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:没有我不会的语言,没有你过不去的坎儿。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦📌作者主页传送门:点此传送
🔎如果对文章内容有疑问,请在评论区留言,24小时内答复
目录
1.首先你需要一个github账号,所以还没有的话先去注册吧!
2.登陆后,进入Github首页,点击New repository新建一个项目
3.填写相应信息后点击create repository即可
6.接下来输入如下代码(关键步骤),把github上面的仓库克隆到本地
第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。
第二步:通过命令git init把这个文件夹变成Git可管理的仓库
第五步:创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建。
第八步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
第九步:你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。
第三步:本地电脑随便建立一个文件夹,如:github,进入此文件夹,在地址栏中输入cmd
第四步:点击->,进入docs命令窗口,输入git命令,出现如下图说明git安装成功。
第五步:回到之前的github界面,下面几个指令告诉你如何将代码上传
第六步:在上面创建的github文件中,放入要上传的代码,然后按照上面的指令开始操作,执行指令
2、提交到远程仓库的时候,提示:fatal :remote origin already exists。
3、首次操作需要输入用户名和密码,就按提示输入用户名和密码即可
一、第一种方法:
1.首先你需要一个github账号,所以还没有的话先去注册吧!
https://github.com/
我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装)直接安装即可:
https://git-for-windows.github.io/
2.登陆后,进入Github首页,点击New repository新建一个项目
3.填写相应信息后点击create repository即可
Repository name: 仓库名称(输入名字,最好不要使用中文)
Description(可选): 仓库描述介绍
Public, Private : 仓库权限(公开共享,私有或指定合作者)
Initialize this repository with a README: 添加一个README.md
gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore
license: 证书类型,对应生成文件LICENSE
4.创建成功以后,界面如下,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上面,此步骤需要你输入帐号和密码)
二、第二种方法:
第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。
你可以直接右击新建文件夹,也可以右击打开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这两个文件,有就跳到下一步,没有就通过下面命令创建。
1、输入下边的命令
ssh-keygen -t rsa -C "youremail@example.com" 注意ssh-keygen之间没有空格
2、然后回车,询问保存key的位置,默认是在括号里的路径下,你可以修改,也可以不做修改。如下图所示:
3、这里不修改,回车,提示已存在,是否覆盖。因为我这是第二次,所以有这个提示如下题所示:
4、输入Y,回车,提示输入密码,如下图所示:
5、为了不必要麻烦,还是不要设置密码,因为容易忘记,不输入密码,回车,如下图所示:
6、确认密码不输入,回车,如图所示:
出现上图结果,表明创建key成功!
7、这时你就会在用户下的.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
1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
3、再通过git commit -m "注释内容"把项目提交到仓库;
4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;
5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。
三、第三种方法
第一步:Git客户端安装好
第二步:github注册好账号
第三步:本地电脑随便建立一个文件夹,如:github,进入此文件夹,在地址栏中输入cmd
第四步:点击->,进入docs命令窗口,输入git命令,出现如下图说明git安装成功。
第五步:回到之前的github界面,下面几个指令告诉你如何将代码上传
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/hongduhong/test.git
git push -u origin master
第六步:在上面创建的github文件中,放入要上传的代码,然后按照上面的指令开始操作,执行指令
1、git init (建立本地仓库)
2、git add * (将代码添加到本地仓库,《*是添加全部代码,代码全部更新》)
3、git commit -m "first commit" (提交到本地缓冲,《引号里说明提交了什么东西,说白了就是注释》)
4、git remote add origin https://github.com/hongduhong/test.git (将本地仓库的代码提交远程github的仓库,《后面的地址就是之前创建github的远程仓库地址》)
5、git push -u origin master (将远程仓库的代码 push到master分支上)
6、代码上传成功如下图所示:
四、Git命令
1 查看、添加、提交、删除、找回,重置修改文件
2
3
4 git help <command> # 显示command的help
5
6 git show # 显示某次提交的内容 git show $id
7
8 git co -- <file> # 抛弃工作区修改
9
10 git co . # 抛弃工作区修改
11
12 git add <file> # 将工作文件修改提交到本地暂存区
13
14 git add . # 将所有修改过的工作文件提交暂存区
15
16 git rm <file> # 从版本库中删除文件
17
18 git rm <file> --cached # 从版本库中删除文件,但不删除文件
19
20 git reset <file> # 从暂存区恢复到工作文件
21
22 git reset -- . # 从暂存区恢复到工作文件
23
24 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
25
26 git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments"
27
28 git ci --amend # 修改最后一次提交记录
29
30 git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
31
32 git revert HEAD # 恢复最后一次提交的状态
33
34 查看文件diff
35
36
37 git help <command> # 显示command的help
38
39 git show # 显示某次提交的内容 git show $id
40
41 git co -- <file> # 抛弃工作区修改
42
43 git co . # 抛弃工作区修改
44
45 git add <file> # 将工作文件修改提交到本地暂存区
46
47 git add . # 将所有修改过的工作文件提交暂存区
48
49 git rm <file> # 从版本库中删除文件
50
51 git rm <file> --cached # 从版本库中删除文件,但不删除文件
52
53 git reset <file> # 从暂存区恢复到工作文件
54
55 git reset -- . # 从暂存区恢复到工作文件
56
57 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
58
59 git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments"
60
61 git ci --amend # 修改最后一次提交记录
62
63 git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
64
65 git revert HEAD # 恢复最后一次提交的状态
66
67 查看提交记录
68
69 git log git log <file> # 查看该文件每次提交记录
70
71 git log -p <file> # 查看每次详细修改内容的diff
72
73 git log -p -2 # 查看最近两次详细修改内容的diff
74
75 git log --stat #查看提交统计信息
76 tig
77
78 Mac上可以使用tig代替diff和log,brew install tig
79
80
81 Git 本地分支管理
82 查看、切换、创建和删除分支
83
84
85 git br -r # 查看远程分支
86
87 git br <new_branch> # 创建新的分支
88
89 git br -v # 查看各个分支最后提交信息
90
91 git br --merged # 查看已经被合并到当前分支的分支
92
93 git br --no-merged # 查看尚未被合并到当前分支的分支
94
95 git co <branch> # 切换到某个分支
96
97 git co -b <new_branch> # 创建新的分支,并且切换过去
98
99 git co -b <new_branch> <branch> # 基于branch创建新的new_branch
100
101 git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
102
103 git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支
104
105 git br -d <branch> # 删除某个分支
106
107 git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
108 分支合并和reba
109 git merge <branch> # 将branch分支合并到当前分支
110
111 git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
112
113 git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
114 Git补丁管理(方便在多台机器上开发同步时用)
115
116
117 git merge <branch> # 将branch分支合并到当前分支
118
119 git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
120
121 git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
122
123 Git暂存管
124 git stash # 暂存
125
126 git stash list # 列所有stash
127
128 git stash apply # 恢复暂存的内容
129
130 git stash drop # 删除暂存区
131
132 Git远程分支管理
133
134 git pull # 抓取远程仓库所有分支更新并合并到本地
135
136 git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
137
138 git fetch origin # 抓取远程仓库更新
139
140 git merge origin/master # 将远程主分支合并到本地当前分支
141
142 git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支
143
144 git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
145
146 git push # push所有分支
147
148 git push origin master # 将本地主分支推到远程主分支
149
150 git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
151
152 git push origin <local_branch> # 创建远程分支, origin是远程仓库名
153
154 git push origin <local_branch>:<remote_branch> # 创建远程分支
155
156 git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支
157
158 Git远程仓库管
159 git remote -v # 查看远程服务器地址和仓库名称
160
161 git remote show origin # 查看远程服务器仓库状态
162
163 git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址
164
165 git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库
166
167 创建远程仓库
168
169 git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库
170
171 scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上
172
173 mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库
174
175 git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址
176
177 git push -u origin master # 客户端首次提交
178
179 git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track
180
181 git remote set-head origin master # 设置远程仓库的HEAD指向master分支
182
183 也可以命令设置跟踪远程库和本地库
184
185 git branch --set-upstream master origin/master
186
187 git branch --set-upstream develop origin/develop
五、遇到问题和解决方案
1、出现如下图所示,说明你安装的本地git客户端的版本太低
解决方案:
a、点击鼠标右键,点击“Git Bash Here”,进入如图
b、输入命令 git update(git update-git-for-windows),将Git客户端更新到最新。
2、提交到远程仓库的时候,提示:fatal :remote origin already exists。
解决方案:删除远程仓库;输入命令:git remote rm origin
3、首次操作需要输入用户名和密码,就按提示输入用户名和密码即可
4、在docs命令窗口看到下边的提示:
$git config --global user.name "Jhon"
$git config --global user.email Jhon@example.com"
解决方案:
按照上面的提示,输入
>git config --global user.name "这里是你github的用户名"
>git config --global user.email 这里是你注册github的邮箱