完整步骤进行Git连接GitHub操作

文章目录

  • 创建本地仓库
    • ssh连接远程仓库
      • git bush指令(无需输入用户名账号密码)
      • TortoiseGit工具
    • https连接远程仓库
      • git bush指令(无需密钥,需要github账号密码)
        • TortoiseGit工具
  • 克隆远程仓库到本地
    • git bush指令
    • TortoiseGit工具
  • git pull和git fetch
  • 其他指令
  • https 转成 ssh 访问的方法:
    • 在项目中设置忽略文件.gitignore

创建本地仓库

git init

在本地创建本地仓库

git config --global user.name “”
git config --global user.email Email

配置git邮箱和用户,只作为标识用

ssh连接远程仓库

git bush指令(无需输入用户名账号密码)

使用 ssh-keygen -t rsa 命令生成证书文件及密钥(信息中包含你的git用户和邮箱)

将密钥加到github的setting中SSH Keys中
完整步骤进行Git连接GitHub操作_第1张图片

相当于在某某人的github中添加远程连接权限,这里是在自己的github账号中添加自己包含本地的git信息的密钥,让本地git能远程连接到github

命令行中执行 ssh -T [email protected]

在这里插入图片描述
git remote add origin [email protected]:dustdawn/test.git

origin为本地仓库别名

git与github建立连接

git add .

添加所有文件到git暂存区

git commit -m “git init”

提交到本地仓库

git push -u origin master

push到远程服务器github

完整步骤进行Git连接GitHub操作_第2张图片

TortoiseGit工具

在本地仓库右键同步
完整步骤进行Git连接GitHub操作_第3张图片
完整步骤进行Git连接GitHub操作_第4张图片完整步骤进行Git连接GitHub操作_第5张图片点击推送即push

完整步骤进行Git连接GitHub操作_第6张图片

https连接远程仓库

git bush指令(无需密钥,需要github账号密码)

指令步骤步骤同ssh
git remote add origin1 https://github.com/dustdawn/test3.git
git add .
git commit
git push origin1 master
然后弹出登录github窗口

TortoiseGit工具

在本地仓库文件夹右键同步
完整步骤进行Git连接GitHub操作_第7张图片
同样点击推送弹出登录窗口
完整步骤进行Git连接GitHub操作_第8张图片

克隆远程仓库到本地

git bush指令

git clone https://github.com/dustdawn/test.git
或者
git clone [email protected]:dustdawn/test.git

TortoiseGit工具

完整步骤进行Git连接GitHub操作_第9张图片

git pull和git fetch

git fetch和git pull的区别

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
    $ git fetch origin master
    $ git log -p master…origin/master
    $ git merge origin/master
    Shell
    以上命令的含义:

    首先从远程的origin的master主分支下载最新的版本到origin/master分支上然后比较本地的master分支和origin/master分支的差别最后进行合并
    上述过程其实可以用以下更清晰的方式来进行:
    $ git fetch origin master:tmp
    $ git diff tmp
    $ git merge tmp
    Shell

  2. git pull:相当于是从远程获取最新版本并merge到本地
    git pull origin master
    Shell
    上述命令其实相当于git fetch 和 git merge在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

其他指令

  • 查看git状态
    git status

  • add后查看暂存区文件(add后的所有文件)
    git ls-files

  • 查看当前目录的所有修改
    git diff
    提交之前,还是单独确认下处于staged状态的文件有哪些,并保证修改正确。

  • 查看远程仓库信息
    git remote show origin

  • 在git add 命令后 撤销已经加入到暂存区的文件
    1.git reset HEAD – . 撤销所有
    2.git reset HEAD – filename 撤销特定目标
    3.git rm -cached filepath 将文件从缓存中删除

  • git commit之后,想撤销commit
    git reset --soft HEAD^ 或 git reset HEAD^ dir/file/id

    这样就成功的撤销了你的commit
    注意,仅仅是撤回commit操作,您写的代码仍然保留。

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

–mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作 这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft 不删除工作空间改动代码,撤销commit,不撤销git add .
–hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

https 转成 ssh 访问的方法:

1、git remote remove origin

2、git remote add origin [email protected]:用户名/你项目仓库.git (在你的github上复制地址就可以)

在项目中设置忽略文件.gitignore

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
输入:
git rm -rf --cached filePath
git commit -m “remove xx”
或者:
git rm -rf --cached .
git add .
git commit -m “update .gitignore”

你可能感兴趣的:(文字,笔记)