Git和GitHub整理与总结(附加一些疑问)

Git安装与使用参考以下两篇文章:

Windows下Git的安装与使用(一、安装篇)
Windows下Git的安装与使用(二、使用篇)

本文直接从上述“使用篇”中上传项目开始阐述:

应用场景:

需要将本地文件夹(可能是某个项目文件夹,包括一些代码或者其他文件内容)同步到GitHub上

第一步:

右击想要上传的文件夹,选择Git Bash Here,会弹出命令行窗口

第二步:初始化仓库

git init

第三步:上传文件中的所有文件

想手动创建readme.md,可以直接在文件夹中右击创建,或者命令行创建:

touch README.md

备注:在GitHub上新建一个仓库后一般都会建议让先新建一个readme.md,估计作用如字面意思,注明这个仓库存储内容相关概况介绍

将文件夹的文件全部添加并提交到暂存区

git add .
git commit -m '第一次提交'  #给此次提交加上说明,表示这次提交是‘第一次提交’

add后面有个点,代表文件夹里面的所有文件,如果要提交某一个文件,将点替换成文件名或文件夹名
我在尝试的时候发现如果文件夹是空的话,提交并不成功,只有在文件夹中加上文件,这个提交文件夹才会成功

到目前为止,还没有真正提交成功,接下来需要将远程仓库与本地仓库同步连接。GitHub上每个仓库的地址可以在GitHub上查看到

第四步:将远程仓库与本地仓库同步连接

git remote add origin [email protected]:用户名/xxx.git  #应该也可以用https地址

备注:在将本地仓库与GitHub网站上的仓库进行关联后,便可进行推送了,但是在第一次进行推送时,需要注意的是,如果GitHub网站上的仓库并非是空的,我们在创建时勾选自动创建一个readme的说明文件,而本地仓库没有这个文件会导致上传失败,解决办法是将两者进行合并

git pull --rebase origin master  #将远程仓库有的东西导到本地仓库,本地文件夹就有了readme文件;push传 pull导

第五步:将本地仓库的内容推送到远程仓库:

git push -u origin master

备注1:这个带有-u这个参数是指,将master分支的所有内容都提交,第一次关联之后后边你再提交就可以不用这个参数了,之后你的每一次修改,直接在命令行输入:

git push origin master

至此便完成将自己的项目上传到GitHub上

一些补充介绍:

一、GitHub上的版本库repository介绍:

版本库又名仓库,英文名repository,可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”

二、如何删除上传到GitHub的文件(还未尝试):

删除GitHub上文件或者文件夹,保留本地文件(删除文件夹要使用-r参数)

git rm --cached -r useless
git commit -m "remove directory from remote repository"
git push

三、删除本地仓库

先删除本地仓库下“.git”,再删除本地仓库目录

rm -rf .git
rm -rf repository_name  #删除仓库

四、Git命令本地创建新的分支

git checkout –b branchname  
git push origin branchname  #将新分支推送至GitHub

五、git使用命令

git add XX #把xx文件添加到暂存区去
git commit –m “XX” #提交文件 –m 后面的是注释
git status #查看仓库状态
git diff XX #查看XX文件修改了那些内容
git log #查看历史记录
git reset –hard HEAD^ 或者 git reset –hard HEAD~ #回退到上一个版本

 (如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX #查看XX文件内容
git rm XX #删除XX文件
git remote add origin 远程仓库地址 #关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master #把当前master分支推送到远程库
git clone 远程仓库地址 #从远程库中克隆
git checkout –b branchname #创建branch分支 并切换到branchname分支上
git branch #查看当前所有的分支
git checkout master #切换回master分支
git merge branchname #在当前的分支上合并branchname分支
git branch –d branchname #删除dev分支
git branch name #创建分支
git stash #把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list #查看所有被隐藏的文件列表
git stash apply #恢复被隐藏的文件,但是内容不删除
git stash drop #删除文件
git stash pop #恢复文件的同时 也删除文件
git remote #查看远程库的信息

疑惑(暂时未尝试)

一、在仓库分支(branch)上还是有一些地方不理解
如果本地文件夹已经和GitHub上仓库同步过,下一次如果本地文件夹有更新,直接执行命令

git push origin master

我理解这样就可以更新同步GitHub仓库内容

如果远程仓库新建了一个branch,是否可以将branch分支显示在本地仓库中?用git pull --rebase origin master能同步的话,本地仓库里好像不会显示branch分支(类似多出一个文件夹)?

发布了37 篇原创文章 · 获赞 2 · 访问量 7621

猜你喜欢

转载自blog.csdn.net/bingozb/article/details/98978245