【待修】Git和GitHub学习笔记

主要参考资料:

如何使用 Git 和 GitHub | Udacity

Python编程 (豆瓣) 附录D 使用Git 进行版本控制

Getting to Know the Command Line

UNIX Tutorial - Introduction

Linux Survival | Where learning Linux is easy

MAN PAGES 使用手册

Git 提交信息样式指南

Git/GitHub教程:Github 简明教程GotGitHub-蒋鑫Git教程-廖雪峰Pro Git-第二版中文版

基本命令:

配置git:

引号中内容改为自己实际的用户名、邮箱

git config --global user.name "user.name" 
git config --global user.email "username@example.com" 

项目文件夹下创建.gitignore文件写入需要被git忽略的文件和目录

初始化仓库:git init 会在项目文件夹下生成.git文件夹

检查状态:git status 

将文件加入仓库中:

git add .
git status

add .将项目中未被跟踪的所有文件君加入仓库中

执行提交:

git commit -m "提交信息"
git commit -am "提交信息"

-a参数使git将所有被修改的文件加入当前提交

查看提交历史:

git log
...
git log --pretty=oneline

--pretty=oneline指定显示提交的引用id、提交记录信息 

 撤销修改:

git status
...
git checkout .
git status

git checkout .放弃最后一次提交后所有的修改,恢复到最后一次提交时的状态。

检出以前的提交:

git log --pretty=oneline
...
git checkout ee7641

通过引用id的前6字符,检出提交历史中的任一提交。git checkout master可回到master分支。

如果是个人项目,可以使用以下命令,永久回退到之前的提交版本:

git status
...
git log --pretty=oneline
...
git reset --hard ee76419
git status
git log --pretty=oneline

删除仓库:

可以直接将.git文件夹删除或通过命令行删除

git status
...
rm -rf .git

 远程仓库分支合并

可以git clone 仓库地址git branch -r查看远程仓库分支,然后git checkout 分支名称切换分支,之后修改、提交,再git push推送到远程仓库分支下。

最后在远程仓库平台发起合并请求。指派人(assignee):项目负责人,具有合并权限。 审核者(reviewer ):选择开发者自己之外的另一个开发者。


 

  windows命令行[win10] 中man <command>似乎无效,可使用help<command>,如: help cd 命令之间注意空格

  FC(file compare)比较文件差异,先进入需要比较的两个文件所在目录(两文件的路径需一致):

:

  启动程序: "E:\Program Files\Sublime Text 2\sublime_text.exe"   

  Sublime Text,一种简单文本编辑器,在 Windows、Mac 和 Linux 上都能运行。

  sublime text2在windows中以命令行启动

  1.把执行文件添加到PATH(在环境变量中设置)中

  2.在程序目录中新建一个批处理文件subl.bat,写上

@echo off
start sublime_text %1

 之后可以在命令行中使用 subl . 或 sublime_text . 打开sublime text2程序。

   windows底下怎么让cmder通过输入subl去打开sublime text (未测试)。

  打开E盘的目录,先 E: 从默认目录转到E盘然后 cd version-control 进入version-control目录 

  以下内容属于bash命令  

   $ alias subl='/e/Program\ Files/Sublime\ Text\ 2/sublime_text.exe'     Git for Windows中Git Bash执行此命令后,可直接使用 subl 启动sublime程序。alias,别号。

 

cd ~                                 # 更改目录 directory
mkdir version-control             # 创建 version-control 目录
cd version-control                # 转到 version-control 目录
mkdir reflections                  # 创建 reflections(思考)目录
cd reflections                      # 转到 reflections(思考)目录
subl lesson_1_reflections.txt       # 启动 Sublime Text,并打开名为 lesson_1_reflections.txt 的文件

pwd # 打印工作目录 - 显示你所在的目录
ls  # 列出此目录中所含的文件

使用短行

如果文件包含很长的行,则会降低许多命令行工具(包括 Git)的实用性。 例如,如果使用 diff 比较两个将所有内容都放在同一行上的文件,则 diff 只会显示这两个文件是不同的文件,而无法指出哪里不同。

因此,在编写反思文件或其他纯文本文件时,确保每行长短适中是一种好做法。将行限制为多长是个人喜好问题。 许多开发者都将行限制为不超过 80 到 120 个字符。 有些编辑器能自动插入换行符,但在 Sublime 等其他编辑器中,如果想另起一行,请记得按下 Enter。

提交频率

为每项逻辑更改进行一次提交是很好的经验法则。例如,如果改正了一处打字错误,然后在文件的另一部分中改正了一个错误,则应为每项更改进行一次提交,因为这两项更改在逻辑上是独立的。如果这样做,每次提交都将具有一个易于理解的目的。Git 允许你在每次提交时都编写一条简短的信息来说明更改了什么。如果每次提交都包含一项逻辑更改,这条信息会更有用。

输入提交 ID

如果输入提交 ID 的前四个或更多个字符更为轻松,则你可以这样做,而不必粘贴整个 ID。


 Git 常用命令 ,MindMapper 2009,思维导图软件。

git add .   向本地仓库Index(Stage)添加当前目录下所有(未隐藏的)文件/文件夹路径

·  git add -A  提交所有变化

·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

·  git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

 引自:git add -A 和 git add . 的区别   

git commit -m "代码提交信息"   改动提交到本地库的HEAD

git push origin master 将改动推送至远端仓库,master是默认的主分支。

git  diif commit_ID1 commit_ID2  比较两个提交之间的差别       + 表示添加的内容 表示删除的内容 

git  log stat  每次提交所更改的文件统计数据 中途按q则停止统计

git  checkout commit_ID 检出某提交

$ git clone https://github.com/udacity/asteroids.git    # clone保存地址默认当前路径,故clone前注意使用 cd 命令转到所需路径
Cloning into 'asteroids'...                   #‘asteroids’小行星
remote: Counting objects: 209, done.              
remote: Total 209 (delta 0), reused 0 (delta 0), pack-reused 209    #delta,[Unix] 微小差异 via http://foldoc.org/delta
Receiving objects: 100% (209/209), 191.54 KiB | 119.00 KiB/s, done.   #git clone中delta的意义参考链接
Resolving deltas: 100% (127/127), done.

 

GitHub小技巧

使用github.dev查看文件

打开一个github.com仓库的主页,用键盘输入一个点(半角.),就会打开一个web editor页面(vs code web ide)。在这个web ide中,可以像在本地版vs code一样修改文件、保存文件,甚至可以提交修改,在左侧的source control(ctrl + shift + G)选项中,可以直接把修改情况commit回github。

github推出了新功能github.dev - 知乎 (zhihu.com)

 

posted @ 2017-11-05 10:34  infocodez  阅读(238)  评论(0编辑  收藏  举报