1.下载并安装Git客户端→Git官网下载地址
2.注册GitHub账号→GitHub官网
1.打开存放代码的文件夹目录,鼠标右键选择"Git Bash Here",打开Git命令行窗口;
2.初始化本地仓库并配置签名,在命令行窗口依次输入以下命令:
1.初始化仓库:git init
2.配置签名:① git config user.name "Zhang3" ② git config user.email "[email protected]"
--签名配置完成后,可以隐藏目录下找到config,查看或编辑签名。假如工作中又来了一个项目,但这个项目的账密想签别的名字。可以在工程下修改。
但一般在公司中多个项目都一样的配置就没必要放在隐藏目录下,可直接配全局的。例如:git config --global user.name "zhang3"
全局配置默认路径为:C/Users/Adminnistator/.gitconfig 优先用项目中的配置,如果项目中没有,则用全局的配置。
3.查看状态:git status
--确认目录下有哪些代码待提交或没有提交,下面显示成红色没有提交。
4.添加文件:git add .
--git add .(注意这个".",是有空格的,"."代表当前目录下的全部文件都提交)
--也可输入:git add src ,即提交了src,此src为文件夹。
提交后,则会变绿。变绿代表进入了”暂存区“,并没有提交到服务器上。
5.提交文件:git commit
--提交至服务器。将”暂存区“(绿色的内容)提交至服务器。
--git commit -m “双引号中间是提交代码时写的备注”
--注意:如果在提交时提示
#Please enter the commit message for your changes. Lines starting
#with '#' will be ignored, and an empty message aborts the commit.
则修改提交命令为: git commit -m "注释"
6.再次查看状态:git status
--确认暂储区没有待提交的内容。
7.推送本地代码到GitHub仓库:git push -u origin master
--此步的前提是已经在GitHub上创建好了Git仓库,否则得先创建仓库,再进行此步,具体操作见步骤三
8.(2022-03-25 更新)在GitHub上修改代码保存后,更新修改后的代码到本地,需执行命令:git pull origin
本地Git仓库和GitHub远程仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:创建SSH KEY。
先检查C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就在Git命令行输入命令:ssh-keygen -t rsa -C "[email protected]"
然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件。
打开GitHub官网
登录GitHub,点开右上角头像,下拉选择Settings;
选择"SSH and GPG KEYS",点击右上角的"New SSH key";
然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击"Add SSH key",这样就完成了SSH Key的加密。
将本地仓库代码关联到GitHub上,先复制GitHub仓库地址,然后在Git命令行窗口输入命令:git remote add origin GitHub仓库地址
注意:
在这一步时如果出现错误: ‘fatal: remote origin already exists.’
说明本地库已经关联了origin远程库,可通过git remote -v
查看关联的远程库;
如果要更改远程库,则先删除关联库,输入:git remote rm origin
再输入:git remote add origin GitHub仓库地址
,就不会报错了
关联好之后,就到了最后一步命令,推送本地仓库项目到GitHub: git push -u origin master
注意:
一、执行git push命令时,如果出现错误: ‘error: failed to push some refs to ‘[email protected]:xxxxx’
主要原因:GitHub仓库中的README.md文件不在本地代码目录中
解决办法:
1.先把GitHub仓库的文件与本地代码仓库的文件进行合并,输入命令:git pull --rebase origin master
,合并后本地git代码目录下可以看到README.md文件。(如果执行git pull --rebase后,导致本地文件丢失,找回丢失文件办法:https://blog.csdn.net/liuskyter/article/details/102745510)
2.然后再输入命令:git push -u origin master
,上传到GitHub仓库。
二、执行git push命令时,如果出现错误: ‘fatal: Could not read from remote repository.’
主要原因:客户端与服务端未生成 ssh key,或者客户端与服务端的ssh key不匹配
解决办法:
1.生成新的SSH key:如果是客户端与服务端未生成ssh key,那么直接使用:ssh-keygen -t rsa -C "[email protected]"
生成新的rsa密钥即可。如果是客户端与服务端的ssh key 不匹配,此时需要先将本地生成的 id_rsa以及id_rsa.pub这两个文件【一般在C盘用户名目录下的.ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥。
2.验证key:输入命令 ssh -T [email protected]
,当出现下图中的提示时说明配置成功,此时再次执行git push 操作将本地项目推送到远程仓库。
三、执行git push命令时,如果出现错误: ‘ssh: connect to host ssh.github.com port 443: Connection refused’
主要原因:域名解析被污染了,因为使用浏览器访问github.com网站是正常的
解决办法:— 究极无敌解决方法:可以尝试换个网络,如连接手机热点,本人尝试过是可行的,就不用下面那么麻烦了。
1.可以在 https://ipaddress.com/website/ssh.github.com 查找github.com域名的真实ip;
2.知道ip后,接下来测试下ssh是否可以连上该ip:ssh -T -p 443 [email protected]
;
3.如果看到最后一行 Hi xxxx 就说明没问题,然后修改用户目录下的.ssh/config 文件,将Hostname ssh.github.com
换成ip地址Hostname 140.82.113.35
即可。
四、执行git status命令时,如果出现错误: ‘interactive rebase in progress; onto 6e82a25’
主要原因:由于之前使用过 git pull --rebase origin develop
命令拉取代码,使用过git rebase
执行代码覆盖,但是上一次进程还没有完成导致。查看git 的提示,大概意思是 你当前正在编辑的提交将要覆盖在 6e82a25 commitid 上
解决办法:
方法一(推荐):使用 git rebase --continue
命令继续代码的提交,执行之后,解决当前的代码冲突之后重新提交直至没有rebase提示,就可以正常提交了;
方法二:使用 git commit --amend
命令修订当前的提交。
至此,本地项目便成功上传到GitHub~