1、安装git
sudo apt-get install git
设置操作git的用户邮箱
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
2、初始化git仓库(repository)
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
3、添加文件(暂存区)
$ git add [filename] 例如:$git add readme.txt a.txt 多个文件 空格分开,或多次add
4、提交文件
$ git commit -m "备注信息"
5、查看仓库当前状态
$ git status
6、查看difference,对比文件
$ git diff readme.txt 命令可以查看工作区和版本库里面最新版本的区别git diff HEAD -- readme.txt
$ git diff HEAD -- readme.txt
diff --git a/readme.txt b/readme.txt
index 76d770f..a9c5755 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,4 @@
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.
+Git tracks changes of files.
7、查看历史记录
$ git log 整齐显示:$ git log --pretty=oneline
$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file
8、回退到上一版本
$ git reset --hard HEAD^ 回退到具体版本$ git reset --hard 1094a,具体commitID的前几位即可
9、记录每一次命令
$ git reflog e475afc HEAD@{1}: reset: moving to HEAD^ 1094adb (HEAD -> master) HEAD@{2}: commit: append GPL e475afc HEAD@{3}: commit: add distributed eaadf4e HEAD@{4}: commit (initial): wrote a readme file
10、撤销修改
丢弃工作区修改
$ git checkout -- readme.txt
撤销暂存区修改
$ git reset HEAD readme.txt
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
11、删除文件
$ rm test.txt $ git rm test.txt
12、github远程仓库生成ssh key
$ ssh-keygen -t rsa -C "youremail@example.com"
13、关联本地和github仓库
$ git remote add origin git@github.com:[个人账户]/[仓库名称].git
14、把本地库的所有内容推送到远程库上
$ git push -u origin master
如果服务器上有README.md pull的时候加参数:
$git pull origin master –allow-unrelated-histories
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
以后推送用
$ git push origin master
15、克隆一个本地仓库
$ git clone [github仓库地址]
16、创建分支
$ git checkout -b dev
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:
$ git branch dev $ git checkout dev
16、查看所有分支
$ git branch
git branch
命令会列出所有分支,当前分支前面会标一个*
号。
17、切换分支
$ git checkout master $ git checkout dev
18、合并分支,把dev合并到master,首先切换到master
$ git merge dev
no-ff模式合并,合并dev到master,这样会写log
$ git merge --no-ff -m "merge with no-ff" dev
19、删除dev分支
$ git branch -d dev
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
20、如果合并存在冲突,修改冲突文件,执行git add, git commit -m "remark"
查看合并后的log
$ git log --graph --pretty=oneline --abbrev-commit
21、封存当前的工作状态
$ git stash
查看封存的状态
$ git stash list
恢复工作状态并删除封存
$ git stash pop
或用git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用git stash drop
来删除;
后恢复指定的stash
$ git stash apply stash@{0}
22、查看远程库信息
$ git remote
23、推送master分支
$ git push origin master
推送dev分支
$ git push origin dev
24、创建远程origin
的dev
分支到本地
$ git checkout -b dev origin/dev
25、多人协作
多人协作的工作模式通常是这样:
-
首先,可以试图用
git push origin <branch-name>
推送自己的修改; -
如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; -
如果合并有冲突,则解决冲突,并在本地提交;
-
没有冲突或者解决掉冲突后,再用
git push origin <branch-name>
推送就能成功!
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。
26、打标签tag
$ git tag v1.0
查看标签
$ git tag
为commitid打标签,先通过$git log --pretty=oneline --abbrev-commit查看commitid
$ git tag v0.9 f52c633
查看标签信息
$ git show v0.9
创建带有说明的标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb
删除标签
$ git tag -d v0.1
推送到远程
$ git push origin v1.0
一次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
删除远程标签,先删本地标签,然后删远程
$ git tag -d v0.9 $ git push origin :refs/tags/v0.9
相关推荐
git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git...
Git 常用命令整理及解析 Git 是一个开源的分布式版本控制系统,用于跟踪项目中的代码变化,可以帮助开发者更好地管理代码。下面是 Git 中一些常用的命令,这些命令可以帮助开发者快速掌握 Git 的使用。 基本命令 ...
### Git常用命令手册详解 #### 一、概览 本篇文档主要介绍了一套由国外开发者整理的Git常用命令速查表,旨在帮助用户快速掌握并应用Git的基础操作。通过这些简洁明了的命令,即使是Git新手也能迅速上手进行版本...
一张图展示 Git 常用命令.pdf
git常用命令速查表
### git常用命令总结 在日常开发工作中,Git作为版本控制系统被广泛使用,它能帮助团队高效地管理代码版本,提高协同工作的效率。本文将根据给定的文件信息,详细总结并解释Git中的常见命令及其用途。 #### 1. Git...
以下是对Git常用命令的详细整理,包括配置、基本操作、分支管理、合并、标签、回滚以及日志和远程操作。 1. **配置操作** - `git config --global user.name "Your Name"`:进行全局配置,设置Git的用户名。 - `...
标题《git常用命令大全》所涉及的知识点覆盖了使用Git进行版本控制的日常操作。Git是一个开源的分布式版本控制系统,被广泛用于代码管理,可以有效地追踪文件的变更,管理分支的合并与冲突,以及回退到旧版本等。...
git常用命令markdown版
git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用...
### Git常用命令详解:提交代码相关操作 #### 一、Git Commit 命令概述 在版本控制系统中,Git 提供了一系列强大的命令用于管理和维护代码版本。`git commit` 是其中一个核心命令,用于将暂存区(staging area)内...
git是linux系统管理源码常用工具,本资源归纳总结git常用命令使用。
Git常用命令速查表,喜欢的同学自行下载0.0 啦啦啦啦啦啦
### Git常用命令详解 #### 一、新建代码库 **命令功能**: - `git init`:用于在当前目录创建一个新的Git仓库。 - `git init [project-name]`:用于在一个新目录中创建并初始化一个Git仓库。 - `git clone [url]`...
平时常用的git命令
对开发中常用的git命令的整理,全部都是实际用到的 对开发中常用的git命令的整理,全部都是实际用到的 对开发中常用的git命令的整理,全部都是实际用到的
### Git常用命令总结 #### 一、准备工作 **1.1 初始化仓库** - **命令**: `git init` - **说明**: 当你需要在一个新的项目中开始使用Git时,首先要做的就是在项目根目录下运行`git init`命令来创建一个新的Git...