Git基本操作

104 阅读4分钟

1.初始化仓库并配置签名

1693917419258.jpg

2.查看状态,添加文件到暂存区,提交

fb450799154131cb1168537baa04e8d.jpg

3.先关联本地仓库代码到远程仓库Github--git remote add origin 仓库地址

在这一步时如果出现错误:'fatal: remote origin already exists.'
说明本地库已经关联了origin远程库,可通过git remote-v查看关联的远程库;
如果要更改远程库,则先删除关联库,输入: git remote rm origin
再输入:git remote add origin GitHub仓库地址,就不会报错了

4.推送本地仓库项目到Github

ae37c5cf73cf86aad49ad86ac900629.jpg

问题

注意1: git pull拉取远程代码

一、执行gitpush命令时,如果出现错误:“error: failed to push some refs to 'gi t@github.com:xxxxx’
主要原因:GitHub仓库中的README.md文件不在本地代码目录中

解决办法:

1.先把GitHub仓库的文件与本地代码仓库的文件进行合并,输入命令:git pull -- rebase origin master,合并后本地gi t代码目录下可以看到READMEmd文件。(如果执行gitpull--rebase后,导致本地文件丢失,找回丢失文件办法:https://bl og.csdn.net/liuskyter/article/details/102745510)
2.然后再输入命令:git push -u orig in master,上传到GitHub仓库。

注意2: 无密钥

二、执行gitpush命令时,如果出现错误:'fatal: Could not read from remote rep ository.’

主要原因:客户端与服务端未生成ssh key,或者客户端与服务端的sshkey不匹配

解决办法:

1生成新的SSHkey:如果是客户端与服务端未生成sshkey,那么直接使用:ssh-k eygen -t rsa -C"youremail@exam ple.com"生成新的rsa密钥即可。如果是客户端与服务端的sshkey不匹配,此时需要先将本地生成的id_rsa以及id_rsapub这两个文件【一般在C盘用户名目录下的ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥。

2.验证key:输入命令ssh-Tgit@gith ub.com,当出现下图中的提示时说明配置成功,此时再次执行gitpush操作将本地项目推送到远程仓库。

01b7d81a871512ac01562e8a249d346.jpg

注意3: 域名解析被污染

三、执行gitpush命令时,如果出现错误:'ssh: connect to host ssh.github.com p ort 443: Connection refused’ 主要原因:域名解析被污染了,因为使用浏览器访问githubcom网站是正常的 解决办法:可以尝试换个网络,如连接手机热点. 如果不行,则按下面操作 1.可以在ipaddress.com/website/ssh…查找,githubcom域名的真实ip; 2.知道ip后,接下来测试下ssh是否可以连上该ip:ssh -T-p443git@140.82.113.35; 3.如果看到最后一行Hixxxx就说明没问题,然后修改用户目录下的ssh/confg文件,将Hostnamesshgithub.com换成ip地址Hostname 140.82113.35即可。

ab22e1dcb20c5fcc8e6d121057edd8b.jpg

cbc0f991798c4fe3f94ca670ceff527.jpg

12ac962a5933916f3f5ddb1cfd9e6ef.jpg

注意4:

四、执行gitstatus命令时,如果出现错误:'interactive rebase in progress; on to 6e82a25'

主要原因:由于之前使用过git pull- -rebase origin develop命令拉取代码,使用过gitrebase执行代码覆盖,但是上一次进程还没有完成导致。查看git的提示,大概意思是你当前正在编辑的提交将要覆盖在6e82a25commitid上解决办法:

方法一(推荐):使用git rebase--con tinue命令继续代码的提交,执行之后,解决当前的代码冲突之后重新提交直至没有rebase提示,就可以正常提交了;

方法二:使用git commit --amend命令修订当前的提交。

1a13876428fcfb535e275f13377c1e3.jpg

579d44e7805a41dafdee7e68ca8ba5e.jpg

78e88f36856a209ae7bb87457ff1df8.jpg

373ccf8bbe511257c2f3519076e68aa.jpg

8fa544fe690214006b36c8a84584592.jpg

4c8350c3ad3f4abd716f1f392ed6c48.jpg

版本回退

1.获取日志,查看到版本号git log;

2.回退到指定版本号, git reset --hard 版本号;

3.回退两次提交, git reset --soft HEAD~2;

4.再git log就可以看到代码已经回退了,然后就需要再把本地代码进行还原

5.查看未推送的commit ,git status

6.将commit都进行回退,git restore --staged .

7.此时再查看可以发现所有修改都变成红色未提交状态,git status

8.将所有改动清除,git restore .

9.再查看的时候只剩下新增的文件了,手动将剩余文件删除就好

然后git push代码推送到远端,这样一次代码回退就完成