您的位置:首页 > 其它

Git 注册、安装、配置、命令

2018-01-06 20:23 232 查看

1.说明

本文主要用于记录Git的相关操作,作为自己学习和使用Git的记录,所以内容缺少对各类原理的相关说明,相对简单。

如果想对这些内容进行进一步的了解,可以参考如下文章:

Git版本控制软件结合GitHub从入门到精通常用命令学习手册

2. 下载、安装与配置GitLab

下载Git

https://git-scm.com/downloads

安装Git

3. 命令集合-Git Bash进行-基本快照

3.1. 配置用户和邮箱

//配置用户名

git config --global user.name "你的用户名"


//配置邮箱

git config --global user.email "你的邮箱"


3.2. git init 初始化

//在目录中创建Git仓库,即生成.git子目录,存放相关快照数据

git init


3.3. git clone 克隆项目

//直接克隆:直接将xxxxx.git相关项目克隆到当前目录下

git clone xxxxx.git


//制定目录克隆:将xxxxx.git相关项目克隆到制定目录下

git clone xxxxx.git mydemo


//新建分支克隆:克隆时创建新的分支代替master

git clone -b new_branch_name xxxxx.git


//在本地新建同名的(“dev”)分支,并切换到该分支

git checkout -t origin/dev


git checkout -b dev origin/dev


3.4. git branch 分支相关

//查看本地所有分支

git branch


//查看远程分支

git branch -r


//查看所有分支

git branch -a


//删除本地分支

git branch -D br


//从当前分支创建新分支并切换

git checkout -b


//从指定分支创建新分支并切换

git checkout -b br brcopy


3.5. git status 查看项目当前状态

//查看简略状态

git status -s


//查看详细状态

git status


//状态说明

序号符号状态说明
1??已修改,未add
2A已add
3AM已add,又发生修改
4D提交完,又删除的文件
5MM改完,提交了,又改了

3.6. git add 添加新文件或待提交的修改至缓存区

//添加制定文件

git add file1 file2 file3


//迭代地添加当前目录下的所有文件

git add .


git add *


3.7. git commit 提交

//加注释提交

git commit -m '项目创建'


//不加注释提交:vim中添加注释

//因为提交与推送改动是有区别的, 请务必花时间将各个逻辑独立的改动放到另外一个提交,

//并附上一份良好的提交注解, 以使与你合作的人能够方便地了解你所做的,以及你为何要这么做。

git commit


简短的关于改动的总结(25个字或者更少)

如果有必要,更详细的解释文字。约 36 字时换行。在某些情况下,
第一行会被作为电子邮件的开头,而剩余的则会作为邮件内容。
将小结从内容隔开的空行是至关重要的(除非你没有内容);
如果这两个待在一起,有些 git 工具会犯迷糊。

空行之后是更多的段落。

- 列表也可以

- 通常使用连字符(-)或者星号(*)来标记列表,前面有个空格,
在列表项之间有空行,不过这些约定也会有些变化。


//自动添加提交:不能自动git add新增的文件,需要手动git add

git commit -a


git commit -a -m


3.8. git diff 查看改动

//显示未git add至缓存中的修改

git diff


//显示已git add至缓存中还未git commit的修改

git diff --cached


//显示全部修改

git diff HEAD


//简略显示参数 –stat

git diff --stat


git diff --cached --stat


git diff HEAD --stat


//定位至某个目录

git diff --stat subdir/


git diff --cached --stat subdir/


git diff HEAD --stat subdir/


//git diff [version] 查看某个旧历史点之后都有啥变了

git diff V1.0


git diff V1.0 --stat
//统计

//查看 branchB 与 branchA 的相对差值

git diff --stat master...dev


git diff --stat mast dev


3.9. git reset HEAD 取消已缓存的内容

//取消已缓存的内容:取消git add

git reset HEAD -- hello.txt


3.10. git rm 将文件从缓存中移除

//从缓冲区移除,并删除文件

git rm -f hello.txt


//删除未git add至缓存区的文件

rm hello.txt


//从缓存区移除,但不删除文件

git rm --cached hello.txt


4.0 命令集合-Git Bash进行-分支管理

4.1. git branch 列出分支

//查看本地所有分支

git branch


//查看远程分支

git branch -r


4.2. git branch 创建新分支

git branch newbranch


4.3. git checkout 切换分支

//切换到指定分支

git checkout master


4.4. git checkout -b 创建新分支并切换

//从当前分支创建新分支并切换

git checkout -b newbranch


4.5. git branch -d 删除分支

//删除本地分支

git branch -d br


//删除本地分支(强制)

git branch -D br


4.6. git merge 分支合并

//分支合并:将dev分支合并到当前分支

git merge dev


//冲突展示

$ cat read.md
#git项目示例
##1.hahaha
##2.heiehi
<<<<<<< HEAD
##3.master
=======
##3.fix_read
>>>>>>> fix_read
##4.22222
##5.hhaahahah


解决冲突后,需要把冲突的文件git add

$ git status -s
UU README
$ git add README
$ git status -s
M  README
$ git commit
[master 8d585ea] Merge branch 'fix_readme'


4.7. git log 显示更改记录

//详细显示当前分支的git commit/merge记录

git log


//简略显示当前分支的git commit/merge记录

git log --oneline


//简略的以图像化的方式显示当前分支的git commit/merge记录

git log --oneline --graph


//简略的以图像化的方式显示指定分支的git commit/merge记录

git log --oneline --graph dev


//显示在master分支中的但不在dev分支中的提交:即dev分支之外的提交

git log --oneline --graph master ^dev


//显示在dev分支中的但不在master分支中的提交

git log --oneline --graph dev ^master
:即dev还未合并的分支

//简略的以图形化的方式显示指定分支的git commit/merge记录(包含分支名和标签)

git log --oneline --graph --decorate


//–author作者

git log --author=hanchao


//–number 条数

git log --author=hanchao -5
//最近5条

//–before –after –since -until 时间参数

git log --before={3.week.ago} --after={2017-11-11}


//–no-merges 隐藏git merge的commit

git log --no-merges


//–grep 过滤注释

git log --grep="add txt"


//–grep 与 –author –all-match且

git log --grep="add txt" --author=hanchao
//或

git log --grep="add txt" --author=hanchao --all-match
//且

//–format 格式化

git log format="%h %an %s"
//版本号 作者 提交注释

//-S 依据所引入的差值过滤:找某个函数是何时引入的,某些变量是在哪里开始被使用的

//注意在“-S”与你要找的东东之间没有“=”

git log -SNewClass


//-p 显示补丁:即每次提交的差值

git log -p -2
//显示最近两条提交的补丁

//–stat 显示差值统计

git log --stat -2


4.8 git tag 打标签

//给当前分支的上次提交打标签

git tag -a V1.0


//给当前分支的制定提交打标签

git tag -a V1.0 96098ca


5.分享与更新项目

简而言之 使用 git fetch 更新你的项目,使用 git push 分享你的改动。 你可以用 git remote 管理你的远程仓库。

5.1. git remote 远端仓库操作

//列出远端别名

git remote


//列出远端别名和实际地址

git remote -v


//添加远端仓库[url通过在远端仓库创建获得]

git remote add 别名[default:origin] git@github.com:schacon/hw.git


//删除远端连接

git remote rm 别名


5.2.git push 推送分支

//推送分支:本地分支推送到远端分支,分支已经存在,它会试着去更新,如果它不再,Git会把它加上。

git push origin master


//如果本地分支已经不是最新的,则会被打回。执行
git fetch origin;git merge origin/master
然后再推送
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Git 版本控制