git主要操作指令以及常见问题

git主要操作指令以及常见问题

(本文章主要是对廖老师git教程的一个总结笔记)

一、本地操作

1、初始化
$ mkdir learngit——创建空目录
$ cd learngit——去往learngit这个目录
$ pwd——显示当前目录

$ git init——把这个目录变成Git可以管理的仓库(多了一个.git的目录)

2、存放
$ git add readme.txt——添加readme.txt文件到暂存区
$ git add .——一次性添加所有更新到暂存库
$ git commit -m "wrote a readme file"——提交,-m后是解释内容
{
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
可以add多个文件后一次性提交

}

3、查看
$ git status——查看仓库当前状态
$ git diff readme.txt ——查看文件具体修改的内容
$ git log ——命令显示从最近到最远的提交日志
$ git log --pretty=oneline——简略显示提交日志

$ cat readme.txt——显示readme.txt文件内容

4、回退
$ git reset --hard HEAD^——回到上个版本

$ git reset --hard 1094a——1094a是版本号

5、撤销
Ⅰ、readme.txt在工作区(未add)
$ git checkout -- readme.txt——用版本库的版本替换工作区版本
Ⅱ、readme.txt在暂存区(add后未commit)
$ git reset HEAD readme.txt——放回工作区
$ git checkout -- readme.txt
Ⅲ、readme.txt在版本库

参考上条回退

6、删除
Ⅰ、确认删除
$ git rm readme.txt
$ git commit -m "remove readme.txt"
Ⅱ、删一半后悔
$ git rm readme.txt

$ git checkout -- readme.txt

7、备注

git init后文件夹中会多一个.git文件,.git里有一个stage暂存区和master分支以及head指针。

二、远程仓库操作

1、初始化
ssh-keygen -t rsa -C "[email protected]"——创建sshkey
此时你会得到一个.ssh文件
文件夹有id_rsa(私钥)和id_rsa.pub(公钥)两个文件

打开码云(github同理)——设置——SSH公钥——名字随便,把id_rsa.pub内容复制到公钥内

2、已有远程learngit仓库,没有本地learngit仓库

$git clone [email protected]:jomornt/learngit.git

        

3、已有本地learngit仓库和远程learngit仓库,将两者关联

$ git remote add origin [email protected]:jomornt/learngit.git
$ git push --set-upstream origin master
$ git pull origin master
进行下述4操作

PS:建议先建立远程库,然后clone,即第二种方式。

4、普通操作
$ git add XX
$ git commit -m"XXX" 
$ git push

 

三、常见问题

    1、对应远程仓库操作的第三条

error: failed to push some refs to '[email protected]:jomornt/try.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
或者
error: src refspec master does not match any.
error: failed to push some refs to '[email protected]:jomornt/learngit.git'

    在一开始要先从远程库PULL,再将本地的内容PUSH,解决方案参照上述二的3

    2、对应远程仓库操作的第三条

fatal: not a git repository (or any of the parent directories): .git

    即初始化错误,要把本地仓库git init一下

  3、

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'xxxx.(none)'  )

解决方案

https://blog.csdn.net/liufangbaishi2014/article/details/50037507

注意:其中的中文符号换成英文

猜你喜欢

转载自blog.csdn.net/qq_39397845/article/details/81004335