git config --global user.name "github’s Name"
git config --global user.email "github@xx.com"
git config --list

隔段时间传一次GitHub,总忘记怎么传的,现在总结一下:

cd ~/ #repo. name
git init
git add .
git commit -m 'remarks'
git remote add origin url.git
git pull --rebase origin master
git push -u origin master

mac查看.git目录:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

更新仓库

1.使用强制push的方法:

git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来

git pull origin mastergit push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

git branch [name]

然后push

git push -u origin [name]

有时候会遇到要上传空文件夹到远程服务器的情况,在这里我提供了将空文件夹上传到github仓库中的方法的完美方案(创建无关文件,删除无关文件)。众所周知,git仅仅跟踪文件的变动,不跟踪目录。

方法:先在目录下的所有空文件夹下,创建一个无关文件(.gitxxx文件)。

在项目的根目录下输入命令行(用Git Bash Here打开),

find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitxxx \;

这样,在目录下的所有空文件夹下,就有.gitxxx文件了。此时,你可以上传此项目到远程服务器了,相信大家还有一个困惑,空文件夹下的.gitxxx文件,并不是我们 想看到的,所有在开发到一定阶段时,我们可以通过命令行删除所有的.gitxxx文件(无关文件)
删除当前目录下的.gitxxx文件

find ./ -type f -name '.gitxxx' -delete

这样,你就可以把目录下的所有.gitxxx文件删除了。

Pull request:

Pull Request 是开发者使用 GitHub 进行协作的利器。这个功能为用户提供了友好的页面,让提议的更改在并入官方项目之前,可以得到充分的讨论。

最简单地来说,Pull Request 是一种机制,让开发者告诉项目成员一个功能已经完成。一旦 feature 分支开发完毕,
开发者使用 GitHub 账号提交一个 Pull Request。它告诉所有参与者,他们需要审查代码,并将代码并入 master 分支。
Pull Request 不只是一个通知,还是一个专注于某个提议功能的讨论版

Pull Request是如何工作的

Pull Request 需要两个不同的分支或是两个不同的仓库,

  1. 开发者在他们的本地仓库中为某个功能创建一个专门的分支。
  2. 开发者将分支推送到公共的 GitHub 仓库。
  3. 开发者用 GitHub 发起一个 Pull Request。
  4. 其余的团队成员审查代码,讨论并且做出修改。
  5. 项目维护者将这个功能并入官方的仓库,然后关闭这个 Pull Request。

例子

如何将 Pull Request 用在 Fork 工作流中。小团队中的开发和向一个开源项目贡献代码都可以这样做。

Mary 是一位开发者,John 是项目的维护者。他们都有自己公开的 GitHub 仓库,
John 的仓库之一便是下面的官方项目。
为了参与这个项目,Mary 首先要做的是 fork 属于 John 的 GitHub 仓库。她需要注册登录 GitHub,找到 John 的仓库,点击 Fork 按钮。

选好 fork 的目标位置之后,她在服务端就有了一个项目的副本.

接下来,Mary 需要将她刚刚 fork 的 GitHub 仓库克隆下来.她在本地会有一份项目的副本。她需要运行下面这个命令:

git clone https://github.com/user/repo.git

请记住,git clone 自动创建了一个名为 origin 的远端连接,指向 Mary 所 fork 的仓库

在她写任何代码之前,Mary 需要为这个功能创建一个新的分支。这个分支将是她随后发起 Pull Request 时要用到的源分支

# 创建新分支
git checkout -b some-feature
# 编辑一些代码
git commit -a -m "新功能的一些草稿"
#切换分支
git checkout ----

为了完成这个新功能,Mary 想创建多少个提交都可以。如果 feature 分支的历史有些乱,她可以使用交互式的 rebase 来移除或者拼接不必要的提交。对于大项目来说,清理 feature 的项目历史使得项目维护者更容易看清楚 Pull Request 的所处的进展

在功能完成后,Mary 使用简单的 git push 将 feature 分支推送到了她自己的 GitHub 仓库上(不是官方的仓库):

git push origin some-branch

这样她的更改就可以被项目维护者看到了(或者任何有权限的协作者)。

Mary创建了一个Pull Request

GitHub 上已经有了她的 feature 分支之后,Mary 可以找到被她 fork 的仓库,点击项目简介下的 New Pull Request 按钮,用她的 GitHub 账号创建一个 Pull Request。Mary 的仓库会被默认设置为源仓库(head fork),询问她指定源分支(compare)、目标仓库(base fork)和目标分支(base)。

Mary 想要将她的功能并入主代码库,所以源分支就是她的 feature 分支,目标仓库就是 John 的公开仓库,目标分支为 master。她还需要提供一个 Pull Request 的标题和简介。


在她创建了 Pull Request 之后,GitHub 会给 John 发送一条通知。

John审查了这个Pull Request


John 可以在他自己的 GitHub 仓库下的 Pull Request 选项卡中看到所有的 Pull Request。点击 Mary 的 Pull Request 会显示这个 Pull Request 的简介、feature 分支的提交历史,以及包含的更改。

如果他认为 feature 分支已经可以合并了,他只需点击 Merge Pull Request 按钮来通过这个 Pull Request,将 Mary 的 feature分支并入他的 master 分支.
但是,在这里例子中,假设 John 发现了 Mary 代码中的一个小 bug,需要她在合并前修复。他可以评论整个 Pull Request,也可以评论 feature 分支中某个特定的提交。

为了修复错误,Mary 在她的 feature 分支后面添加了另一个提交,并将它推送到了她的 GitHub 仓库,就像她之前做的一样。这个提交被自动添加到原来的 Pull Request 后面,John 可以在他的评论下方再次审查这些修改。

John 接受了 Pull Request

最后,John 接受了这些修改,将 feature 分支并入了 master 分支,关闭了这个 Pull Request。功能现在已经整合到了项目中,其他在 master 分支上工作的开发者可以使用标准的 git pull 命令将这些修改拉取到自己的本地仓库。

更新fork的repo.

准备工作

原始repo:http://git-server/YCODE_DOMIN/test.git
fork过来的repo: http://git-server/guqiang/test.git

开始

  1. git clone http://git-server/guqiang/test.git将自己的repo克隆到本地。
  2. cd test进入工作目录
  3. git remote add upstream http://git-server/YCODE_DOMIN/test.git添加远端原始repo

原始repo做了更改,本地做了更改并且commit

  1. git fetch upstream然后,git rebase upstream/master
  2. git push origin master将所有更新推到自己的远端repo

注意

在同步原始远端repo的时候,如果本地有未commit或者stash的,需要先commit或者stash,不然git会提示你让你这么做。

Paste_Image.png

总的来说

三个命令:

  • git remote add upstream "原始repo"
  • git fetch upstream
  • git rebase upstream/master

清理历史

1.Checkoutgit checkout --orphan latest_branch2. Add all the filesgit add -A3. Commit the changesgit commit -am "commit message"4. Delete the branchgit branch -D master5.Rename the current branch to mastergit branch -m master6.Finally, force update your repositorygit push -f origin master

常用操作

#查看分支
git branch
#查看status
git status
#查看修改内容
git diff
#查看修改历史
git log
#转到master
git checkout master
#merge 分支
git merge mybranch
#删除 mybranch分支
git branch -d mybranch //删除mybranch

.gitignore规则不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

如何删除github上的commit历史记录?

#Clone your git repo
git clone https://github.com/lestatzhang/lestatzhang.github.io.git;
#Entre your local repo
cd lestatzhang.github.io;
#Checkout
git checkout --orphan latest_branch;
#Add all the files
git add -A;
#Commit the changes
git commit -am "Reinitialize";
#Delete the branch
git branch -D master;
#Rename the current branch to master
git branch -m master;
#Finally, force update your repository
git push -f origin master;

解决Github 每次上传都要输入用户名和密码

https 转到 ssh方式

git remote -v #查看项目采用的提交方式
git remote rm origin #移除旧的提交方式
git remote add origin git@xxx.git #添加新的ssh提交方式,到github官网获取项目的ssh链接

更改master到main分支

git checkout -b main
# Switched to a new branch 'main'
git branch
# * main
#  master
git merge master # 将master分支合并到main上
# Already up to date.
git pull origin main --allow-unrelated-histories # git pull origin main会报错:refusing to merge unrelated histories
git push origin main
git branch -D master

Git上传Github及基本操作相关推荐

  1. git上传GitHub时报Please tell me who you are错误

    原因 在git创建项目时出现,是因为在创建git文件夹的时候信息不完善导致的 错误 *** Please tell me who you are.Rungit config --global user ...

  2. 如何用Git向GitHub上传送文件(从注册GitHub到用Git上传的每一步)

    文章目录 1.GitHub 1.1.GitHub注册(已经注册过的直接看1.2GitHub仓库的建立) 1.2 GitHub仓库的建立 2.Git 2.1Git 安装 2.2 Git 下载 2.3 G ...

  3. 使用git上传代码到github

    1.      github上创建项目 github是一个服务器托管商,我们写好的代码可以上传到github上面去 登录github的官方网站:http://github.com/ 注册一个自己的用户 ...

  4. 一篇文章了解Github和Git教程-AndroidStudio上传Github教程

    前言 为了方便保存自己的代码,下班后可以回家继续进行,自己的码农工作,介绍一下Github. 什么是Github呢? 作为一个编程人员,我觉得得了解一下Github吧! 当然,如果你放弃了码农或者技术 ...

  5. Git 上传代码到github上

    学会操作git和使用Github来管理代码是技术开发人员的必备基本功,在工作中越来越发现,熟练掌握好git这个利器对工作非常有帮助. 首先你得在github上有一个账号.然后在上面创建一个创建个人项目 ...

  6. Git上传文件代码到GitHub

    Git上传文件代码到GitHub 1. 新建一个空文件夹,用来上传文件 2. 点进去空文件夹,鼠标右键,使用Git Bash Here 打开 3. 输入 git init ,初始化,在本地创建一个Gi ...

  7. git 上传本地文件到github

    Git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...

  8. 第一次使用git上传项目代码到GitHub(注意事项)

    Git Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.git是一种工具,它能更好的让我们管理代码.很多时候如果我们需要将本地项目代码上传至GitHub或者从G ...

  9. 用git上传项目到GitHub过程记录

    最近准备转变用GitHub记录开发项目,现记录用git上传项目到GitHub. 创建github repository(仓库) 首先就是登录github账号,接下来的过程如图: 然后给仓库起一个名称, ...

最新文章

  1. tomcat用80port能够启动,可是浏览器不显示tomcat首页
  2. 算法-----数组------合并两个有序数组
  3. C#面试题汇总(未完成)
  4. 萨蒂扬软件技术(南京)研发中心”落户高新区
  5. 数据库 MySQL 如何设置表的主键自增起始值
  6. Html、CSS、JavaScript 实时效果在线编辑器 - 学习的好工具,算不算?!
  7. Git 中文详细安装教程01(安装篇)
  8. C# log4net纯代码设置参数
  9. 一把误操作卖出500万股,TCL科技李东生致歉:收益归公司
  10. C# 获得Excel工作簿Sheet页面(工作表)集合的名称
  11. c语言双精度型输出小数位数_4.1 C语言数据的输出
  12. Poj 1324 Holedox Moving 状压判重+BFS
  13. 数据库添加表时设置表名为中文
  14. 斯坦福大学自然语言处理第五课“拼写纠错(Spelling Correction)”
  15. PHP MD5 SHA1 比较 漏洞绕过
  16. SQL必知必会【极客时间笔记】
  17. 如何使用MSGEQ7音频频谱分析仪芯片
  18. 什么是Photoshop的Alpha通道(详细图解)
  19. 使用Hostapd开启AP功能
  20. 关于对音频的合并,左右声道的分离以及播放的操作

热门文章

  1. 数据结构之查找算法:顺序查找
  2. LeetCode:409、最长回文串
  3. Linux系统编程36:多线程之线程控制之pthread线程库(线程创建,终止,等待和分离)
  4. Java 按行读写文件(解决中文乱码)
  5. searchsploit漏洞查找工具使用指南(exploit-db.com 离线工具)
  6. Python错误:TypeError: string indices must be integers
  7. 缩点【洛谷P1262】 间谍网络
  8. phpcms网站搬家至服务器
  9. 在Ubuntu Server上使用vtk处理体数据,直接得到渲染结果图片避免显示窗口
  10. 深入理解计算机系统 第三部分程序间的交互和通信