github删除项目的文件夹(本地文件夹上传github)

github删除项目的文件夹(本地文件夹上传github)

  git本地仓库与github远程仓库连接时要有认证,是通过SSH的公钥进行认证的。创建SSH公钥并将添加到github中

  在用户目录下查看.ssh文件夹

  如果没有这个文件夹或者文件,需要手动创建

  在Program Files文件夹下找到Git/bin目录,双击sh.exe

  输入以下命令,一路回车会创建.ssh文件夹和其中的密钥

  用记事本打开id_rsa.pub文件,将其中的公钥复制。

  打开打开设置页

  将前面复制的公钥粘贴到文本框中

  现在就建立了本地仓库与远程仓库之前的认证。验证

  本地仓库与远程仓库的连接有三种方式:

  初始化本地仓库,然后将本地仓库推送到远程仓库;将一个已有的本地仓库推送到远程仓库;clone一个远程仓库到本地。

  初始化:git init

  新建一个文件夹gitdemo并初始化

  初始化会在当前文件夹下创建一个.git的文件夹,此文件夹存储着管理当前目录内容所需的仓库数据。

  查看本地仓库状态: git status

  在当前文件夹下创建一个文件后再次查看仓库状态

  将文件添加到暂存区:git add 文件名/git add .

  git add .代表的是添加所有的文件到暂存区

  上面创建的test.txt文件,由于没有git操作因此是不会被git跟踪的,git向仓库中添加要先将工作区文件添加到暂存区后才能提交到仓库。

  当test.txt文件内容更改时,再次查看状态

  提交暂存区文件到本地仓库:git commit -m “description”

  查看提交日志:git log /git log –pretty=short /git log test.txt /git log -p /git log -p test.txt

  查看操作日志:git reflog

  查看工作区和暂存区差异:git diff

  查看工作区与最新提交差异:git diff HEAD

  git默认分支为master,以此基础上创建不同的分支,由不可的开发人员进行修改,然后再进行合并到master分支。分支有利于版本控制和团队协作。

  查看分支列表:git branch

  分支的创建与切换

  分支创建git branch XX分支切换git checkout XX分支创建并切换git checkout -b XX切换上一个分支git checkout –

  番外:

  git checkout master^ 使HEAD指向当前的上一记录。git checkout master~1 等同上行。git checkout master~n 使HEAD指向当前的上n条记录处。

  分支的删除:git branch -D fname

  git branch -f bugFix master 强制bugFix分支指向master

  分支的合并:git merge fname

  图形查看日志:git log –graph

  回溯历史版本:git reset

  冲突消除

  将test文件修改为想要提交的内容,然后add和commit即可

  修改commit信息:git commit –amend

  将上面的commit信息“消除冲突”修改为“merge-B”

  这时会打开编程器

  按i键或者Insert键进行编程模式

  按ESC键进入命令模式,输入 :wq保存或者:q!不保存退出,查看reflog日志

  压缩记录:git rebase -i

  git rebase 分支名:将当前分支的记录合并到其他分支中,使记录成线性化。

  当我们在合并分支之前发现有拼写错误,这时我们再次提交会出现新的记录,但是拼写错误这条记录我们不希望出现在历史记录中,我们需要将这条记录和前一记录合并。

  创建分支C,将test内容改为masterCc,其中c小写是错误的,我们要求大写,不过之前没有发现,现在已经提交了一次,如果修改后再提交就会有两条记录。

  删除第二行,:wq保存并退出

  前面我们在github上已经建立了一个同名的gitdemo远程仓库,本地仓库与远程仓库名称尽量保持一致。

  添加远程仓库:git remote add 标识符 远程仓库地址

  此命令相当于给远程仓库设置一个别名(标识符),以后的操作直接在这个别名上操作。

  将本地仓库中的内容推送到远程仓库:git push -u 标识符 远程分支名

  -u参数:在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)当前分支与远程分支建立了对应关系,同时如果远程仓库没有master分支同时会创建。

  a.在本地master分支中运行git pull命令从远程仓库的master分支获取内容;

  b.在本地master分支中支行git push直接推送。

  如果在其他分支中操作会产生错误,需要手动指定pull和push的仓库和分支。

  获取远程仓库:git clone 远程仓库地址

  执行git clone命令后我们会默认处于master分支下,同时系统会自动将origin设置成该远程仓库的标识符。

  git branch -a //-a会显示本地和远程仓库的信息

  新建一个文件夹gitdemo2

  获取远程仓库中的其他分支

  git checkout -b B origin/B

  创建一个新的本地分支B并切换,并获取远程仓库中的B分支数据

  获取最新的远程分支git pull

  假设当前分支为B,而远程上最新的分支是master,我们需要分支B中的数据是最新的。

  关于多人协作,多人在同一个分支中操作,commit后push给远程仓库分支,如果多个人对同一个文件修改在push时会提示冲突,因此我们需要更加频繁的pull/push操作。

  尽量不要多人修改同一个文件,每次分支修改前先pull仓库中的数据,修改后再push推送。

推荐阅读