你有一个空的仓库
要开始使用,您需要在终端中运行这些命令。
第一次使用Git? 学习基本的Git命令
第一次配置Git
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
使用您的存储库
我只想克隆这个存储库
如果要简单地克隆此空存储库,请在终端中运行此命令。
git clone https://******.git
我的代码已经准备好推送
如果你代码已经准备好推送到仓库,请在终端中执行该命令
cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin https://****/***.git
git push -u origin master
我的代码已经由Git跟踪
如果你的代码已经由Git跟踪,然后设置这个仓库作为你的“origin”推送。
cd existing-project
git remote set-url origin https://****/****.git
git push -u origin --all
git push origin --tags
之后每次提交前务必先拉取远程仓库代码
git pull origin master
情景1:如果有部分文件打算推到远程仓库
git add '文件名'
git commit -m "XXX"
git push
情景2:如果打算删除远程仓库某文件
##先删除本地文件
rm '文件名'
##将删除改动推到暂存区
git add '文件名'
##将删除改动推到本地仓库
git commit -m 'XXXX'
##将删除改动推到远程仓库
git push
情景3:git误删除文件后如何撤回
情景4:git删除文件包括以下几种情况
(1)删除本地文件,但是未添加到暂存区;
(2)删除本地文件,并且把删除操作添加到了暂存区;
(3)把暂存区的操作提交到了本地git库;
(4)把本地git库的删除记录推送到了远程服务器github。
删除情景(1)删除了本地文件,但未添加到暂存区;
此时要撤回,使用checkout:
删除情景(2)删除了本地文件,并且已经把删除操作添加到了暂存区
情景(3)从暂存区把删除操作提交到了本地git库
可以看到有一个提交改动,此时如果要撤销,就必须对git进行版本回滚操作
通过 git log 命令查看git库的所有版本信息
看到一大串类似 6aef622c4……8445f2429f的用16进制表示的字符串是每次 commit 的ID版本号,此时我们进行版本回滚操作
选择ID的前几位字符串就足够表示版本的唯一性,输入命令 git reset --hard 6aef62
情景(4)如果删除操作已经推送到了远程github服务器中,可以通过 git push 操作来进行推送
可以看到文件被从服务器中删除了,如果此时进行文件恢复操作就需要像上面第三步那样进行版本回滚操作
当然了,这个版本回滚是在本地进行的,然后把回滚后的版本提交
因为git默认是高版本覆盖低版本,但不能反过来操作,因为回滚的版本比服务器此时的版本低,所以此时常规手段是无效的,但可以进行版本的暴力提交——force
通过git的提示 git push -h 可以查看到 force的说明
关于删除撤回的内容均来源于链接:https://www.jianshu.com/p/c3ff8f0da85e
情景5:拉取代码pull时报冲突
比如报如下错误:Automatic merge failed; fix conflicts and then commit the result.
原因:pull实际上分了2步,第一步:从远程分支origin/master下pull;第二步将远程的origin/master分支与本地的master分支进行合并。错误是出现了第二步。
解决方法
方法1:如果我们确定远程的分支是我们需要的,本地的分支比较陈旧或不再需要,可以直接丢弃本地分支内容,运行如下命令(看需要决定是否需要运行git fetch取得远程分支)
git reset --hard origin/master
方法2:不丢弃本地修改,此时需要对未合并的文件进行手动修改,删掉冲突的部分,然后执行如下命令:
git add file
git commit -m ' '
如果合并之后感觉内容比较混乱,想放弃这次合并,回到合并之前的状态,可以执行如下命令
git reset --hard HEAD^
HEAD是指向当前版本的指针,HEAD……表示上个