Git与GitHub简明记录

原创 2016年05月31日 22:52:33

由于此文章只是想记录自己的学习过程 本人又是Linux 所以下文讨论的问题都是在Linux环境下

无意之中在图书馆发现一本《GitHub入门与实践》 又因为之前一直听本人安利GitHub有多厉害。。。然后就入了坑 其实也不算坑 话不多说
聊一聊Git与GitHub

安装Git

$ sudo apt-get install git

设置用户名和邮箱

lockeroots-1215T ~ $git config user.name "lockeroots"
lockeroots-1215T ~ $git config user.email "lockeroots1126@gmail.com"

查看用户名设置

lockeroots@lockeroots-1215T ~ $ git config --list
user.name=lockeroots
user.email=lockeroots1126@gmail.com

现在就新建一个目录,做为Git专用

初始化

$git init

现在在刚刚建立的目录就有个.git目录

开始操作了

 lockeroots@lockeroots-1215T ~/git $ ls
test.txt
lockeroots@lockeroots-1215T ~/git $ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    test.txt

nothing added to commit but untracked files present (use "git add" to track)
lockeroots@lockeroots-1215T ~/git $ git add test.txt
lockeroots@lockeroots-1215T ~/git $ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   test.txt

lockeroots@lockeroots-1215T ~/git $ git commit -m "add test.txt"
[master (root-commit) e6d2491] add test.txt
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
lockeroots@lockeroots-1215T ~/git $ git status
On branch master
nothing to commit, working directory clean

git add test.txt 表示把test文件提交到暂存区间
git commit -m “注释” 把暂存区间的文件提交到分支
git status 表示查看工作状态 看工作区间和暂存区间是否有文件

git log 查看提交日志
git log –oneline 日志只显示一行

lockeroots@lockeroots-1215T ~/git $ git log
commit e6d2491906760699a35fda129b875f2c097ef6a9
Author: lockeroots <lockeroots1126@gmail.com>
Date:   Tue May 31 22:47:22 2016 +0800

    add test.txt
lockeroots@lockeroots-1215T ~/git $ git log --oneline
e6d2491 add test.txt

git mv test.txt test1.txt 已经提交的文件text改名为test1
git rm test1.txt 删除已经提交的文件

git rm –cached test.txt 删除之后 本地文件不变
git rm -f test.txt 分支和本地文件一起删除

lockeroots@lockeroots-1215T ~/git $ git rm --cached lock.txt
rm 'lock.txt'
lockeroots@lockeroots-1215T ~/git $ ls
fuck.txt  lock.txt  test.txt
lockeroots@lockeroots-1215T ~/git $ git rm -f lock.txt
rm 'lock.txt'
lockeroots@lockeroots-1215T ~/git $ ls
fuck.txt  test.txt

git reset是返回版本的命令 但加的参数不同又有不同的效果
git reset –hard 把本地文件和分支文件一起删除
git reset –mixed 只删除分支文件不删除本地文件
git reset –soft 把提交的文件移动到占存区

 ~/git $ git log --oneline
a62ad40 add fuck
61600ad add lock
e6d2491 add test.txt
 ~/git $ git reset --hard HEAD^
HEAD is now at 61600ad add lock
~/git $ git log --oneline
61600ad add lock
e6d2491 add test.txt

git reset –hard HEAD^ 这个表示返回到上一个版本
git reset –hard HEAD^^ 返回上二个版本
假如我们要返回多个版本以前 怎么办 不可能一直加^^^^^^…
这时候要用到

 ~/git $ git log --oneline
a62ad40 add fuck
61600ad add lock
e6d2491 add test.txt

git reset –hard HEAD~e6d2491 这时候就返回到上三个版本以前了

一般我们是在其他扥至工作,然后把写好的代码在合并在主分支里去
所以。。。
分支

git branch 查看分支(带*表示当前分支)
git branch dev 创建dev分支
git checkout dev 切换到dev分支
git checkout -b dev 创建并切换到dev分支

 ~/git $ git branch
* master
 ~/git $ git branch dev
 ~/git $ git checkout dev
Switched to branch 'dev'
 ~/git $ git branch
* dev
  master

当我们在dev分支中创建了一些文件 想提交到主分支
首先要切换到主分支 然后合并dev分支 (删除dev分支,可以不删)

 ~/git $ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
 ~/git $ git merge dev
Already up-to-date.
 ~/git $ ls
1.txt  lock.txt  test.txt
 ~/git $ git branch -d dev
Deleted branch dev (was 61600ad).
 ~/git $ git branch
* master

git merge dev 把dev分支合并到当前分支
git branch -d dev 删除dev分支

查看分支之间的差别
我先把1.txt文件修改一下
在使用命令
git diff master..test

 ~/git $ git diff master..test
diff --git a/1.txt b/1.txt
new file mode 100644
index 0000000..d6d58da
--- /dev/null
+++ b/1.txt
@@ -0,0 +1,2 @@
+1.txt
+---test

master是我的主分支
test是我刚刚另外创建的分支

有时我们会合并是会遇到一些冲突
git merge dev –no-ff -m “注释” 快进合并

当我们在test分支开发的时候
有人告诉我在master有bug
但我手头正在处理test分支 这时候我们可以把test分支的所有数据先封存起来
不给任何人动
git stash 创建封存
在创建处理bug的分支
处理完之后在切换到test分支
git stash pop 解封!!!
git stash lish 查看封存记录
如果有多个记录 我们要指定解封一个记录
git stash apply stash@{3} 指定解封第3个记录

GitHub

现在去GitHub官网
找到new repository(新建一个仓库,具体情况请google)
https://github.com/lockeroots1126/test这个就是我仓库地址咯

 ~/git $ git remote add origin git@github.com:lockeroots1126/test.git
lockeroots@lockeroots-1215T ~/git $ git push -u origin master
Counting objects: 6, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 456 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To git@github.com:lockeroots1126/test.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

git remote add origin git@github.com:lockeroots1126/test.git 把本地Git关联到远程的GitHub
git push -u origin master 提交master分支(也可以是dev)数据到远程仓库

现在找到怎么样把本地的文件提交到远程
但如何把远程的项目下载到本地呢???
git clone git@github.com:lockeroots1126/test.git 恩。这条命令可以下载远程仓库的内容

git branch -r 查看关联的远程分支有哪些
git branch -a 查看远程分支
我们也可以直接切换到远程仓库的分支上直接进行开发

待整理。。。

版权声明:本文为博主原创文章,只为记录自己的点点滴滴,不喜勿喷!谢谢捧场:)

iOS 创建Git 提交到GitHub 简明讲解配步骤图

iOS 创建Git源 提交到GitHub

git与github简明介绍

将命令罗列出来,以备忘记时可以快速查看,如果需要具体学习,可以参考廖雪峰git教程初始化一个仓库命令:git init添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反复多次使...

Github Git彻底删除历史提交记录的方法

有时候我们可能会遇到git提交错误的情况,比如提交了敏感的信息或者提交了错误的版本。这个时候我们想将提交到代码库的记录删除,我们要怎么做呢? 首先,我们需要找到我们需要回滚到的提交点的hash,可以...

xcode6 cocos2dx玩转git和github之学习记录

1. git Xcode4开始,就已经将Git作为内置的源代码控制(Source Control)工具了,所以为新建的项目使用git来管理是很方便的。在新建项目向导中,可以直接选择Git作为源代码控制...

Git设置及GitHub使用的入门学习记录

说明 该篇文章是记录自己在window下学习使用Git和Github的一些过程...仅适合新手的学习... GIT是什么 Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大...

GitHub-记录我上传项目到 Git Hub 的流程

GitHub-记录我上传项目到 Git Hub 的流程 1.在 Github 官方网站上,先 New a Profile 写上你滴版本库名称,点击 Create Respository ...

Git与GitHub版本控制使用记录

参考资料: Pro Git(中文版) 安装Git$ sudo apt-get install git配置Gitgit config --global user.email "you@example.c...

git及gitHub使用手册

  • 2017年08月20日 21:44
  • 11.77MB
  • 下载

如何搭建一个独立博客——简明Github Pages与Hexo教程

前言 作为一个技术小白,没有技术基础,看网上的教程也云里雾里,看程序员的教程相当不容易,稍微有些细节描述得不清楚自己就要绕弯路去找答案(善用搜索引擎),所以,在自己的博客搭建完成之后,我决定要将...
  • wilver
  • wilver
  • 2017年07月17日 15:03
  • 309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git与GitHub简明记录
举报原因:
原因补充:

(最多只允许输入30个字)