github_从零开始

廖雪峰Git教程

https://www.liaoxuefeng.com/wiki/896043488029600

如何为开发项目编写规范的README文件(windows),此文详解

https://www.cnblogs.com/wj-1314/p/8547763.html

【记录】Git pull(拉取),push(上传)命令整理(详细)

https://www.cnblogs.com/wbl001/p/11495110.html

# 基本信息设置

1.设置用户名

$ git config --global user.name 'Your name'

2.设置用户名邮箱

$ git config --global user.email 'Your email'

查看当前用户信息以及其他的一些信息

$ git config --list

$ git config --l

3.初始化仓库

# 初始化仓库后会生成一个 .git 的隐藏文件,包含git信息的管理仓库。

$ git init

4.添加文件

# 添加文件到暂存区。

$ git add File_Name

# 将项目的所有文件添加到缓存中:

$ git add .

5.添加文件到仓库

$ git commit -m '提交描述'  # 提交到文件库

$ git commit -am '提交描述'  # 一步完成提交

# 或者不添加注释 git commit  ,但是这样会进入vim(vi)编辑器

# 在这里可以输入更改信息,也可以不输入,然后 按住 shift + :  ,输入wq 即可保存信息并退出vim编辑器;

6.查看状态

$ git status

# 小结

要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

7.将本地的库链接到远程库

$ git remote add origin https:..

8.上传代码到远程库

# 上传前最好先 Pull 一下,再执行上传代码

$ git pull origin master

$ git push origin master

#即将代码成功提交到远程库!!!

注:如果pull之后出现 “ refusing to merge unrelated histories ”这句,就证明你合并pull两个不同的项目

9.查看 git 的日记信息

小结

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

# 每一次commit都是一个提交点,唯一标识SHA1的ID,ID可使用前4至7个数字表示

$ git log

# 简化 git 日志输出格式

$ git log --pretty=oneline  # 每条log输出一条

$ git log --oneline  # 只输出前七位 commit id  # SHA1计算出来的数字,十六进制

# 显示主分支和自分支git日志 (前面会多个星号)

$ git log --oneline --graph

10.给提交点打标签

$ git tag -a tagV1 d819565b  # 提交点SHA1的ID的前7位

# 回车之后会有输入tag内容的界面,然后像linux一样 点击 i 编辑  输入信息后  esc 然后 :wq 保存退出

11.查看分支

# 查看本地添加了哪些远程分支地址

$ git remote

# 查看本地添加了哪些远程分支地址(详细)

$ git remote -v

# 删除本地指定的远程地址

$ git remote remove origin

# 添加远程地址

$ git remote add origin https://xxx.git

# git 本地分支覆盖master(亲测)

比如有一个dev分支进行了多次迭代,但是master没有及时更新,需要使用dev分支来取代master。

切换到dev分支: git checkout dev

删除master分支: git branch -D master

将dev分支复制并创建为master: git checkout -b master

推送到远程: git push -u origin master --force

# 分支:

分支意味着你可以从开发主线(master)上分离开,在不影响主线的同事继续工作

git branch                          #列出当前开发所有分支(默认会有master)<br>

git branch king                  #创建一个king的分支(最新提交点)<br>

git branch king 提交点          # 创建一个king的分支(指定提交点)

<br>git branch -d -r <branchname>  # 删除远程分支,删除后还需推送到服务器<br>git push origin:<branchname>  # 删除后推送至服务器<br><br>

git branch -d king                #删除king分支

git checkout -b mybranch      # 创建并切换分支

git checkout king                #切换至king分支

git checkout master 

git merge king      #合并分支king和主干master,合并后的提交点属于主干master

# 查看工作区和版本库里面最新版本的区别

$ git diff HEAD -- readme.txt

# 丢弃工作区的修改

git checkout --readme.txt  # 回到最近一次 git commit 或 git add 时的状态

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

个人理解:撤回文件在工作区的全部修改。

# 丢弃修改区的修改

git reset HEAD readme.txt

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

再用git status查看一下,现在暂存区是干净的,工作区有修改。

还可以继续丢弃工作区的修改

$ git checkout -- readme.txt

整个世界清净了,working tree clean。

小结

又到了小结时间。

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

# TODO

# TODO

本地分支重命名

https://www.cnblogs.com/wbl001/p/11495110.html

# 廖雪峰-版本回退-Start

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

$ git reset --hard Head^

此时用 git log 查看现在版本库的状态,会发现原来的最新版已经消失。

解决办法:只要上面的命令行窗口还没有被关掉,就可以回到未来的某个版本:

$ git reset --hard 1094adb  # commit ID 多写几位比较保险(7位)

如果回退到某个版本关掉了电脑,第二天后悔了怎么办。

解决办法:只要找到你想恢复版本的 commit ID 即可。

$ git reflog

# 廖雪峰-版本回退-End

# 删除文件

1.删除文件

$ rm File_Name

2.从Git中删除文件

$ git rm File_Name

3.删除缓存区所有文件

$ git rm -r --cached .  # . 点一定要写

4.提交操作

$ git commit -m '提交描述'

# 删除仓库

1.删除本地仓库(两种方法)

# 方法一:手动删除“git本地仓库”根目录下的隐藏文件夹 “.git”

# 方法二:在本地仓库的目录下调用命令行删除根目录下的 .git 文件夹。

$ find . -name ".git" | xargs rm -Rf

# 检验是否成功删除了本地仓库:如果本地仓库目录末尾没有 “(Master)”,说明成功删除了本地仓库。

2.删除远程仓库

在GitHub的对应的库中到setting删除库。

3.删除远程仓库内的文件/文件夹

首先在本地仓库下打开Git Bash Here命令窗口

(1)git pull origin master          拉取远程仓库更新

(2)dir                 查看远程仓库的文件夹

(3)git rm -r --cached 文件夹        删除文件夹

(4)git rm -r --cached 文件(文件夹/文件) 删除文件或指定文件夹下的文件

(4)git commit -m " "           提交修改

(5)git push origin master        推送到远程仓库

# 克隆操作

1.克隆到本地

$ git clone 仓库地址

2.克隆远程指定分支下代码(-b 分支名称)

git clone -b v1.0 http://xxx.git

# git 中的三类文件(主要讲解忽略文件)

被追踪的(tracked):已经加入文档库

不被追踪的(untracked):没有加入文档库

忽略的(ignored):忽略那些不需要管理的文件夹或文件

新建忽略文件,目录下建立一个 .gitignore 文件(可以有多个,影像范围当前文件及子文件)

$ touch .g  # 其实就是Linux指令

.gitignore文件忽略内容demo

# Maven #

target/


# IDEA #

.idea/

*.iml


# Eclipse #

.settings/

.classpath

.project

注意:新建的一个忽略文件,为什么没有生效

答:可能是因为你的缓存区已经有忽略的文件了,所以需要先清空缓存区里的文件,重新add和commit操作


删除缓存区所有文件命令

$ git rm -r --cached .   #主要这个点一定要写

重新add到缓存区

$ git add .

# 黑马Git教程_Start

https://www.bilibili.com/video/BV1Mk4y1y7jR?p=1

1.使用前配置

git config --global user.name 'YourName'

git config --global user.email 'YourEmail'

git config --list  # 查看git配置信息

2.提交步骤

git init  # 初始化git仓库

git status  # 查看文件状态

git add File_Name  # 追踪文件

git commit -m '提交描述'  # 向仓库中提交代码

git log  # 查看提交记录

3.恢复记录

# 将 git 仓库中指定的更新记录回复出来,并且覆盖工作目录中的文件

其实应该是往回撤销一步

(commit 后更改了文件) ----撤销----(commit 后的状态)

git checkout File_Name

# 将文件从暂存区中删除

git rm --cached File_Name

# 将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录

git rest --hard commitID

4.分支命令

git branch  # 查看分支

git branch Branch_Name  # 创建分支  # 基于所在分支创建分支

git checkout Branch_Name  # 切换分支

git merge 来源分支  # 合并分支

git branch -d 分支名称  # 删除分支(分支被合并后才允许删除) # -D 强制删除

5.暂时保存更改

git stash  # 存储临时改动

git stash pop  # 恢复改动

6.多人协作开发流程

(1)push  # A 从本地仓库push到远程仓库

(2)clone  # B 从远程仓库clone到本地仓库

(3)push  # B从本地仓库push到远程仓库

(4)pull  # A从远程仓库pull到本地仓库

(1)(3)push

git init  # 初始化一个本地仓库

# 然后可以添加内容了

git add .  # 添加到暂存区

git commit -m '提交描述'  # 提交到 git 仓库

# 在 GitHub 中创建一个远程仓库 会生成一个 HTTPS 和 SSH 地址

# git push 远程仓库地址 分支名称  # 过于繁琐

# 因此一般给远程仓库地址取一个别名

git remote add origin HTTPS  # 一般将远程仓库取名为 origin  # 命名一次后下次直接可以写 origin 了

git push origin master

# 更加简化步骤

# 如果提交到远程仓库添加 -u 参数,就会记住 远程仓库 和 分支名称 的对应关系

git push -u origin master

# 在此之后就直接用下列命令了

git push

(2)clone

git clone 仓库地址  # 克隆远程仓库到本地

(4)pull

git pull  远程仓库地址 分支名称  # 拉取远程仓库中的最新版

git pull origin master

# 黑马Git教程_End

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351

推荐阅读更多精彩内容