Home git-commond
Post
Cancel

git-commond

初始化仓库

1
2
3
#进入要做成git仓库的文件夹
git init
#这一步初始化git仓库,并生成一个.git的隐藏文件夹

各种状态

  • untracked,未被仓库收纳
  • unmodfied,被仓库收纳,提交以后未作修改
  • modified, 被仓库收纳,与上一次提交修改过的
  • staged, 被仓库收纳add后准备提交

简单流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#创建一个文件,例如a.py

# 1. 将其添加到仓库
git add a.py
git add . (添加文件下所有文件)

# 2. 提交 message 可替换成对该次提交的描述
git commit -m "message"

# 3. add并commit
# 这会提交所有“已经处于仓库”的文件,新文件不会被提交
git coomit -am "message"

# 4. 当前所有修改和上个版本的区别
git diff

# 5. 将这次提交归并到上一次
git commit --amend [--no-edit](不修改上一次的评论)

仓库状态

1
2
3
4
5
6
7
git status [-s](单行输出)

#从该版本到最初版本的信息
git log [--oneline](单行) [--graph](图形,用于分支)

#所有版本变化的信息
git reflog 

版本回滚

1
2
3
4
git reset --hard HEAD^^^^
# ^ 的数量代表回滚的版本次数,1个回滚1个版本

git reset --hard 版本号

版本号可由 git reflog git log –oneline 查看

单个文件回滚

1
2
3
4
git checkout 版本号 -- filename
# --后面有空格

#若再次修改后提交不会影响到之前任何版本的记录

分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#查看所有分支
git branch 

#新建分支, branchname
git branch branchname

#分支跳转
git checkout branchname

#新建分支并跳转
git checkout -b branchname

#删除分支
git branch -d branchname

#将分支归并到主线,此操作必须将分支转到主线
git merge --no-ff -m "message" branchname

分支冲突:

1
2
3
4
#正常情况下,主分支在分出新分支后不变,新分支更改后可以线性归并到主分支

#若分出新分支后,主分支也有改变,则归并时会报错,会指出有冲突的文件,所以需要在文件中做出修改
#修改完成以后再次提交,此时完成归并

暂存

当不想提交且需要更改之前版本代码时可将当前状态暂时保存下来

1
2
3
4
5
#暂存
git stash

#弹出上次暂存
git stash pop

pretty git-log

  • 好看的git log显示 在~目录下执行vi .gitconfig 找到alias 添加dog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C blue<%an>%Creset' --abbrev-commit --date=relative --all 这样使用git dog就能更好的显示log

主要命令

Git命令.png

This post is licensed under CC BY 4.0 by the author.

安装MongoDB

Chrome必备插件