git命令

作者: 亮亮同学 | 来源:发表于2019-02-12 20:06 被阅读2次

1,设置本机参数,所有仓库都使用本参数

git config  --global user.name "your name"
git config --global user.email "your email"

2,创建目录

mkdir learngit 

3,查看当前路径

pwd 

4,进入learngit目录,通过git init命令把这个目录变成Git可以管理的仓库:

git init

5,查看隐藏的文件

ls -ah

6,添加指定的文件到git 例如添加 addme.txt

git add  addme.txt

7,用命令git commit告诉Git,把文件提交到仓库,-m后面是 本次提交的描述

git commit -m " add a addme file "

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

git add file1.txt git add file2.txt file3.txt
$ git commit -m "add 3 files."
8,查看日志,日志 以堆栈的形式显示 最上面的是最新的

git log  

如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:b24a10e6bdaf37c801981c31b55b721677274833 是本次提交的版本号

$ git log --pretty=oneline
b24a10e6bdaf37c801981c31b55b721677274833 (HEAD -> master) append GPL
8fff663095d5e4ba795cd006d3a2cf10957291d4 wrote a readme file

9.版本回退
HEAD当前版本 ,HEAD^上个版本 上上个版本HEAD^^ 也可以用HEAD~2

git reset --hard HEAD^

或者用版本号回退,去前面几位就可以

git reset --hard b24a10e6bdaf37c80 

10,Git提供了一个命令git reflog用来记录你的每一次命令,如果 想回退到哪个版本 可以 查看命令记录找到版本号 就可以回退到相应的版本

git reflog

11,管理修改,如果修改了一次文档 然后add一次 接着又修改了一次 还需要在add一次才能把两次修改的内容提交 ,如果想看 工作区和版本库里的区别可以用:

git diff HEAD -- readme.txt

12,撤销工作区的修改

git checkout -- readme.txt

13,清空缓存区

git reset HEAD --readme.txt

14,删掉文件

git rm readme.txt
git commit -m "delete readme.txt"

15,创建并切换分支到dev

git branch -b dev

等同于

git branch dev  创建分支dev
git checkout dev  切换到分支dev

16,查看分支

git branch 

17,查看状态

git status

18,合并分支 在被合并的分支下操作

git merge dev   将dev和当前分支合并

19,删除分支

git branch -d dev

20,合并冲突

$ git merge feat
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
文件
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.

feature1
用 <<<<<<<<<<<<< =================== >>>>>>已经表明冲突的位置
如上 ,需要手动解决冲突 然后 提交

git add readme.txt
git commit -m" conflict fixed"

git log --graph 查看合并分支图

21,关闭 fast forward合并模式 ,可以看到每次修改或者合并的记录

git merge --no-ff -m" merge with no-ff" dev

22,查看详细的 提交,合并的版本记录

 git log --graph --pretty=oneline --abbrev-commit

23,分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:


image.png

24,把工作区临时储藏起来

git stash

25,查看储藏起来的工作区记录

git stash list

26,恢复工作区域

git stash apply

27,删除床藏起来的工作区

git stash drop

28,恢复并删除床藏起来的工作区

git stash pop

29,恢复指定的 工作区

git stash apply stash@{0}
image.png

30,强制删除没有合并的子分支 dev->bug-101

git branch -D bug-101
image.png

31,查看远程库

git remote   
或者
git remote -v 显示更详细的内容

32,推送分支

git push origin name

33,抓取分支,后面是地址

 git clone git@github.com:michaelliao/learngit.git

34,创建远程分支到本地dev

git checkout  -b dev origin/dev

35,修改文件后 推送分支到远程

git push origin/dev

36,抓取 最新的提交

git pull

37,pull失败 有此信息 “ If you wish to set tracking information for this branch you can do so with:” 表示没有没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:

git branch --set-upstream-to=origin/dev dev

38,多人协作

首先,可以试图用git push origin <branch-name>推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin /<branch-name> <branch-name>

相关文章

  • Github学习文档-3

    目录 1.Git 的基本的命令git init命令git status命令git add命令git commit命...

  • git实用命令

    git实用命令 1 git init 命令 初始化 git 仓库 repository 2 git add 命令 ...

  • git管理工具

    git分支命令 git提交命令

  • git 多条命令一次执行

    上代码git命令 && git命令

  • git入门

    这里对git init、git add、git commit命令进行一个总结。 $ git init 命令,该命令...

  • GIT 常用命令总结

    GIT 常用命令总结 GIT 初始化命令 命令描述git init初始化本地 git 仓库git config -...

  • Git命令整理

    Git命令 ———————————————— git配置: git基本步骤: git分支管理: 创建分支命令: 切...

  • git 分支

    git 显示所有分支(包含本地和远程)命令: git 删除本地分支命令: git 显示远程分支命令: git 删除...

  • Git命令集合

    Git基础命令 git远程关联 git远程关联移除 git命令简单简介 常用命令集合:git init创建版本库 ...

  • git使用指南

    常用命令 帮助类: git --help:显示git命令帮助信息git help -a:显示所有命令git hel...

网友评论

      本文标题:git命令

      本文链接:https://www.haomeiwen.com/subject/hqifeqtx.html