Fork me on GitHub
0%

Git&&Repo

Git基础

Git 是一种分布式版本控制系统,每个开发者都拥有完整的仓库副本。这使得可以在本地进行大部分操作,而不需要网络连接。分布式系统允许离线工作、更灵活的分支管理和更高效的协作。Git 支持多种工作流程,包括集中式工作流、功能分支工作流、Gitflow 等。开发者可以选择适合他们团队和项目的工作流。

Git命令

获取Git仓库

初始化本地仓库

1
git init

远程获取已有仓库

1
git clone https://github.com/yangLieee/Git_Test.git

查看状态

查看文件状态

1
git status

查看远程仓库

1
git remote -v

查看提交历史

1
git log

查看文件改动

1
git diff [filename]

查看本地提交记录

可以叫做显示可引用的历史版本记录。HEAD值越小,表示版本越新,越大表示版本生成时间越久。

1
git reflog

文件提交流程

获取最新版本文件

1
git pull [remote] [branch]

将文件提交至暂存区

1
git add [filename]

提交文件并写log信息

1
2
3
4
5
6
7
8
9
10
11
# 提交文件LOG单行显示
git commit -m "[Log]"

# 提交文件LOG多行
git commit -m '
[log] xxx
- add
- delete xxx
'

# 使用-a参数可以不用 git add,直接提交

推送数据到远程仓库

1
2
git push origin master
git push origin HEAD:refs/for/refs/heads/master

分支

查看分支

1
git branch -a

切换分支

1
git checkout [branch-name]

创建本地新分支

1
git branch [branch-name]

更改文件状态

撤销add

1
git reset [filename]

撤销commit

1
2
# commit-ID是指上一个版本的版本号的commit-ID
git reset [commit-ID]

恢复文件的改动至库里状态

1
git checkout [filename]

回退版本

命令可以将当前分支的 HEAD 指针指向指定的提交,从而回退代码到指定版本。

  • –mixed (默认):将 HEAD 指针和暂存区都回退到指定提交,但不改变工作区的内容。
  • –soft 仅将 HEAD 指针回退到指定提交,不改变暂存区和工作区的内容。
  • –hard 将 HEAD 指针、暂存区和工作区都回退到指定提交,会丢失最新的代码修改,慎用。
1
git reset --soft [commit-ID] [filename]

图像界面

1
gitk 

Git命令取别名

1
2
3
4
5
6
7
8
# 在.gitconfig文件中添加以下内容

[alias]
br=branch
st=status
last=log -1
# 取消暂存文件,取消git add的内容
unstage=reset HEAD

repo

简介

 repo 是对分布式版本控制系统 Git 中部分命令的封装,是一个命令行工具。它可以管理多个 git 项目。

使用说明

初始化

1
2
repo init -u url [OPTIONS]
#repo init -u ssh://192.168.1.26:29418/manifest -b master -m example.xml
  • -u :指定一个URL,其链接到一个清单仓
  • -m : 指定要下载哪个xml文件的内容,默认执行manifest下面的default.xml
  • -b : 选在一个清单库中的一个分支

下载具体内容

1
repo sync

参考资料