Git 版本控制工具使用

初始化项目

在版本控制的初始状态下,需要对进行版本控制的文件夹进行初始化,例如对当前工作目录的/git_show文件夹进行版本控制

#intput
cd  ~/git_tech
git init
#output
Initialized empty Git repository in /Users/wang/git_tech/.git/
添加需要进行版本控制的文件

在git的使用中,只有添加到版本控制在文件才会被git管理.如此处我们创建两个文件一个添加到git一个的缓存区一个不添加到git的缓存区

#input
#使用vim创建文件
cd ~/git_tech
vim git_add.txt  
vim git_unadd.txt 
#将其中一个添加到版本git的缓存区
git add git_add.txt 
git status 
#output
On branch master

Initial commit

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

    new file:   git_add.txt

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

    git_unadd.txt

上述输出显示一个文件已经被git记录(slash),另外一个则没有被git记录(unstash).真实的bash环境下, slash 的文件会显示为绿色,unslash的文件会显示为红色

对git的版本的提交

git工具在对其管理的工具进行添加缓存(slash)后,还需要对缓存中的内容进行提交(commit)以生成一个hash值. 来代表当前版本. 说的有点啰嗦了. 简单点就是说,提交的代码才会进行git仓库,不提交的代码不会进行仓库. git 就不能对它进行进一步的操作. 对应用的命令行如下

#input
git commit -m '这是一个次代码提交'
#out 
On branch master

Initial commit

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

    new file:   git_add.txt

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

    git_unadd.txt

localhost:git_tech wang$ git commit -m '这是一个次代码提交'
[master (root-commit) bdf45b1] 这是一个次代码提交
 1 file changed, 1 insertion(+)
 create mode 100644 git_add.txt

可以看到提交后的输出日志上,会显示当前版本库的说明.就是我们上面''中的内容. 和当前版本的hash值bdf45b1这是就是我们后续操作这次提交的依据.

操作git 的历史版本

在实际应用中,经常会有这样的操作.我们写了100行代码.然后对这个100行代码修改了10次.每次都将修改内容提交(cmmit)到了git版本库中.这样就对这个有100代码的文件形成了10次修改记录. 我们可以通过git来查看这些记录.

#input
git log --oneline
#output
b24977c (HEAD -> reinforment_learning) Wang commit new file at new branch
aa63e6e (master) Wang del file
70cdd8c Second File
c22ef43 Wang seveth commit
8cb694d Wang sixth commit
d3eb3e0 Wang sixth commit
2d6db6c Wang fifth commit
6c3a13c Wang forth commit to git_add.txt
92db9e7 Wang second commit to git_add.txt
08564f0 Seond commit messages
#input
git reflog  #这种会常用一些
查看或修改历史版本

有的时候,我们对那100行代码的文件的第5次修改感兴趣.但又想不起来第5次改了什么. 这时git可以帮助你回退到那个版本上去(前提是那次修改后,你提交了).

#input
git reflog
#output
b24977c (HEAD -> reinforment_learning) HEAD@{0}: commit: Wang commit new file at new branch
aa63e6e (master) HEAD@{1}: checkout: moving from master to reinforment_learning
aa63e6e (master) HEAD@{2}: reset: moving to aa63e6e
70cdd8c HEAD@{3}: reset: moving to HEAD
70cdd8c HEAD@{4}: reset: moving to 70cdd8c
aa63e6e (master) HEAD@{5}: commit: Wang del file
70cdd8c HEAD@{6}: commit: Second File
c22ef43 HEAD@{7}: reset: moving to HEAD
c22ef43 HEAD@{8}: reset: moving to c22ef43
c22ef43 HEAD@{9}: reset: moving to c22ef43
08564f0 HEAD@{10}: reset: moving to 08564f0
08564f0 HEAD@{11}: reset: moving to 08564f0
08564f0 HEAD@{12}: reset: moving to 08564f0

你只要找到你在第5次修改是提交的备注.就可以切换到那次修改前文件的状态上去.具体的命令如下

#input
git reset --hard c22ef43
#output
HEAD is now at c22ef43 Wang seveth commit

日志显示我们已经,回到hash c22ef43 指针所代表的记录上去 . 就可以看到那个时候文件的具体内容.

后续内容
git 分支

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

推荐阅读更多精彩内容

  • 姓名:陈夫翠 企业名称:临沂金柳工艺品有限公司 组别:感谢三组 第361期(孚因感谢组) 打卡第298天 【知~学...
    陈夫翠阅读 510评论 0 1
  • 在7月10日举办的第二届全球女性创业者大会上,今日头条高级副总裁柳甄作为女性创业者代表,分享了她对职场的看法。她提...
    景景相依阅读 76评论 0 0
  • 平水韵:八庚 新知座上聊心事,旧友樽前话故情。借使年华若如此,闲愁怎个易滋生。
    傅逸尘阅读 373评论 0 6
  • 我真的庆幸自己能醒过来 太恐怖了!!! 10点进入梦乡 可是睡梦中他们一直都走来走去 醍醍 他爷爷 拖着拖鞋 哒哒...
    凹凸57阅读 259评论 13 0