Git用法小记

1、如何在 GitHub上删除某个 Repository 中的某个文件夹?

先前上传项目的时候有些需要忽略的文件夹并未加入.gitignore文件中,导致上传了一些并不想上传的文件。(比如不小心将下图的.idea、out、nowcoder.iml上传到了github上)

 

我们想要在github上面删除,但又不想在本地删除

然而,github界面上只能删除文件而不能删除文件夹(下图为一个文件)

所以只能用指令来操作

步骤:(以删除.idea文件夹为例)

git rm -r --cached .idea  #--cached不会把本地的.idea删除
git commit -m 'delete .idea dir'
git push -u origin master

如果直接git rm本地的文件夹也被删除,应该删缓冲。所以加上--cached

2、仓库生成

# 将当前目录,或者指定的DIR-NAME目录初始化为仓库
git init [DIR-NAME]
git clone [-b branch_A] REPOSITORY-URL [DIR-NAME]   
# 将远端工程放入当前目录,或者重命名为指定的DIR-NAME的目录, -b branch_A 从指定分支branch_A上克隆

3、分支操作

git branch  # 显示本地分支,-r 显示远程分支 -a 显示所有分支

git branch NEW-BRANCH  # 以当前分支为基础创建一个分支

git branch NEW-BRANCH BASE-BRANCH  # 以BASE-BRANCH为基础创建一个分支

git checkout -b NEW-BRENCH  # 以当前分支为基础创建一个分支

git checkout -b NEW-BRANCH BASE-BRANCH  # 以BASE-BRANCH为基础创建一个分支

git checkout BRANCH-NAME  # 切换到分支

git branch -d BRANCH-NAME  # 删除BRANCH-NAME指定的分支(如果要删除的分支有内容未合并到当前分支,不能删除) -D表示无条件删除

4、内容整合

git fetch [REPOSITORY-URL REMOTE-BRANCH]  # 取回远端分支内容

git merge ANOTHER-BRANCH  # 将ANOTHER-BRANCH的内容合并到当前分支

git pull [REPOSITORY-URL REMOTE-BRANCH:LOCAL-BRANCH]  # 将远端分支的内容取回并尝试合并

git mergetool  # 使用合并工具进行合并

5、内容提交

git status  # 查看当前改动提交状态

git diff  # 对比工作区和暂存区,--cached 为比较暂存区和HEAD

git add .  # 添加所有改动到git 跟踪,指定FILEPATH则只添加指定内容

git commit -m "commit log"  # 提交所有改动到本地仓库, --amend 表示调整上一次提交

git push [REPOSITORY-URL LOCAL-BRANCH:REMOTE-BRANCH]  # 推动本地仓库信息到远端仓库

 6、如果本地代码有改动,从github仓库的代码拉取代码时会报错提醒commit your changes or stash them before you can merge

如果希望保留本地所做的改动,仅仅并入新配置项, 处理方法如下:

git stash
git pull
git stash pop

反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard
git pull

 

posted @ 2020-02-19 10:04  理想几岁  阅读(240)  评论(0编辑  收藏  举报