这是本文档旧的修订版!
目录
Git和GibHub使用指南
参考:
(注意自2020年10月起GitHub的默认分支名称从master改为main。)
建库,安装本地工具
在GitHub网站建立仓库。网址: GitHub
在本地电脑安装Git。下载网址: Git Downloads
初始化本地库(方案1 - 本地无文件需加入或合并)
文件管理器 - 右键点击准备存放库文件的上一级目录 - Git Bash Here.
然后执行clone:
git clone https://github.com/***/***.git
通过clone命令创建的本地仓库,其本身就是一个 Git 仓库了,无须再进行init初始化操作,而且自动关联远程仓库。
初始化本地库(方案2 - 本地有文件需加入或合并)
文件管理器 - 右键点击本地库根目录(与GitHub项目根目录对应) - Git Bash Here.
初始化本地库:
git init
关联远程仓库(GitHub上的库),其中origin为远程仓库的名字:
git remote add origin https://github.com/***/***.git
同步远程仓库和本地仓库:
git pull origin main
提交到本地库
使用git add和git commit命令,把指定文件夹(包含文件)或指定文件提交到本地库:
git add 文件夹or文件 git commit -m "注释"
如果是文件修改后的提交,使用git add -u命令,把修改内容提交到本地库:
git add -u 文件夹or文件 git commit -m "注释"
提交到远程仓库
使用git push命令,将本地仓库修改(或者添加)的内容提交到远程仓库,注意一定要先pull,再push,防止本地和远程有冲突:
git pull origin main git push origin main
撤销修改
情况1:还没将变更从工作区加入到暂存区(还没执行 git add)
撤销某个或者某几个文件的修改:
git checkout -- filename1 filename2
撤销所有文件的修改:
git checkout -- * 或: git checkout .
此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中,所以对于git是未知的。
==== 情况2:已将变更加入到暂存区(已经执行 git add)
撤销某个或者某几个文件的修改:
git reset HEAD filename1 filename2
撤销所有文件的修改:
git reset HEAD * 或: git reset HEAD .
要注意的是,执行以上命令后,本地的修改并不会消失,而只是从暂存区回到了工作区,即第一种情况下所示的状态。继续用第一种情况下的操作,就可以放弃本地的修改。
==== 情况3:已将代码提交到本地仓库(已经执行 git commit)
此时工作区已经clean,若想撤销之前的修改,需要执行版本回退操作:
#回退到上一个版本 git reset --hard HEAD^ #回退到上上次版本 git reset --hard HEAD^^ git reset --hard HEAD^^^ #回退到指定commitid的版本 git reset --hard commit_id
可以使用 git log 或 git reflog 命令来查看git的提交历史,获取commit_id.
其他命令
#查看状态 git status #查看提交日志 git log #查看分支 git branch