Git 命令简单罗列
源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
整理出运行命令,不做过多解释!
git 简单整理:
1.down
https://git-scm.com/download/win
mirror https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit
2.install
install
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
3.create version
$ mkdir learngit
$ cd learngit
$ pwd
out:/Users/michael/learngit ####window下不要中文与空格
$ git init
out:Initialized empty Git repository in /Users/michael/learngit/.git/
4.commit
$ git add readme.txt
$ git commit -m "wrote a readme file"
out:[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
5.status look
$ git status
$ git diff readme.txt
6.back version
$ git log
$ git log --pretty=oneline
$ git reset --hard HEAD^ ####回退到上一版本
$ git reset --hard 1094a
$ git reflog
7.look diff
$ git diff HEAD -- readme.txt
8.cancle change
$ git checkout -- readme.txt
$ git reset HEAD readme.txt ####把暂存区的修改撤销掉(unstage),重新放回工作区
9.remove
$ git rm test.txt
$ git commit -m "remove test.txt"
$ git checkout -- test.txt #####checkout
10.github version
$ ssh-keygen -t rsa -C "youremail@example.com" ####id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000
11. add remote repertory
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
$ git remote add origin git@github.com:michaelliao/learngit.git
$ git push -u origin master #### init first
$ git push origin master #### after
12.clone
$ git clone git@github.com:michaelliao/gitskills.git
$ cd gitskills
$ ls
out:README.md
13.branch
####查看分支: git branch
####创建分支: git branch <name>
####切换分支: git checkout <name>
####创建+切换分支: git checkout -b <name>
####合并某分支到当前分支: git merge <name>
####删除分支: git branch -d <name>
$ git checkout -b issue-101
$ git add readme.txt
$ git commit -m "fix bug 101"
$ git checkout master
$ git merge --no-ff -m "merged bug fix 101" issue-101
$ git checkout dev
14.conflict
$ git checkout -b feature1
$ git log --graph命令可以看到分支合并图。
15.通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息 ,下面我们实战一下--no-ff方式的git merge
$ git merge --no-ff -m "merge with no-ff" dev ####注意--no-ff参数,表示禁用Fast forwar
16.当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交
$ git stash ####把当前工作现场“储藏”起来,等以后恢复现场后继续工作
$ git stash list
$ git stash pop
$ git stash apply stash@{0}
17.通过git branch -D <name>强行删除。
18.多人协作
$ git remote
$ git remote -v
$ git push origin master
$ git push origin dev
$ git clone git@github.com:michaelliao/learngit.git
$ git branch
$ git checkout -b dev origin/dev
$ git add env.txt
$ git commit -m "add env"
$ git push origin dev
other change one thing
$ git branch --set-upstream-to=origin/dev dev
$ git pull
#### 手动解决冲突后提交
$ git commit -m "fix env conflict"
$ git push origin dev
####查看远程库信息,使用git remote -v;
####
####本地新建的分支如果不推送到远程,对其他人就是不可见的;
####
####从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
####
####在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
####
####建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
####
####从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
19.创建标签
$ git branch
$ git tag v1.0
$ git tag
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f52c633
$ git show v0.9
$ git tag -a v0.1 -m "version 0.1 released" 1094adb
####命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
####
####命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
####
####命令git tag可以查看所有标签。
20.操作标签
####命令git push origin <tagname>可以推送一个本地标签;
####
####命令git push origin --tags可以推送全部未推送过的本地标签;
####
####命令git tag -d <tagname>可以删除一个本地标签;
####
####命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
21. 使用码云
$ git remote add origin git@gitee.com:liaoxuefeng/learngit.git
$ git remote -v
$ git remote rm origin
$ git remote add origin git@gitee.com:liaoxuefeng/learngit.git
$ git remote -v
$ git remote rm origin
$ git remote add github git@github.com:michaelliao/learngit.git
$ git remote add gitee git@gitee.com:liaoxuefeng/learngit.git
$ git remote -v
$ git push github master
$ git push gitee master
22.color
$ git config --global color.ui true
23.忽略特殊文件 特殊的.gitignore文件
$ git add -f App.class
$ git check-ignore -v App.class
####忽略某些文件时,需要编写.gitignore;
####.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
24.配置别名
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git ci -m "bala bala bala..."
$ git config --global alias.unstage 'reset HEAD'
$ git unstage test.py
$ git reset HEAD test.py
$ git config --global alias.last 'log -1'
$ git last
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
####配置文件
####配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
####
####配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:
25.搭建Git服务器 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
$ sudo apt-get install git
$ sudo adduser git
####收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个
$ sudo git init --bare sample.git
$ sudo chown -R git:git sample.git
$ git:x:1001:1001:,,,:/home/git:/bin/bash
$ git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
$ git clone git@server:/srv/sample.git
Git 命令简单罗列的更多相关文章
- Git命令简单总结
集中式vs分布式 svn集中式:版本库是集中存放在中央服务器的,需要联网才能工作 git 分布式:每个人的电脑上都是一个完整的版本库 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为 ...
- git命令简单使用
git config --global user.name 'sss' git config --global user.email 'huahua@163.com' cd d:/mywork git ...
- 认识git的简单命令
一.课程目的 教大家学会it的简单命令(老师建议 English 的前后要加空格) 二.认识 git 命令 整篇文章都是用语雀写的. 解释了(使用git)绑定gitee的操作 https://www. ...
- 简单 常用的git命令
常用的git命令 git pull 获取最新 git add . 提交所有 git commit -m “我的注释” git status 查看状态 git push origin master ...
- 利用git工具命令简单的从github上拷贝和上传代码
第一:从github上拷贝项目到本地 1.在github上建立一个项目名为:MygitTest 2.在我们本地电脑上把这个项目拷贝下来:直接选择一个文件夹,右键选择git Bash here 直接 ...
- Git命令的简单整理大全
创建目录和查看路径 mkdir 创建目录 cd 进入到目录里面pwd 用于显示当前的目录cat 查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...
- git的简单理解及基础操作命令
前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
随机推荐
- AfxBeginThread
用户界面线程和工作者线程都是由AfxBeginThread创建的.现在,考察该函数:MFC提供了两个重载版的AfxBeginThread,一个用于用户界面线程,另一个用于工作者线程,分别有如下的原型和 ...
- JAVA基础|从Class.forName初始化数据库到SPI破坏双亲委托机制
代码托管在:https://github.com/fabe2ry/classloaderDemo 初始化数据库 如果你写过操作数据库的程序的话,可能会注意,有的代码会在程序的开头,有Class.for ...
- 不能用c99的情况下,如何动态定义数组的长度
#include <stdio.h>#include <stdlib.h> int main(int argc, char const *argv[]){ int num ...
- JMETER TPS
上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测试目标网站是fnng.cnblogs.co ...
- linux配置路径PATH问题
临时: 终端输入 export PATH=/myPath:$PATH 等号左右无空格 永久: 在用户家目录下即-目录, ...
- 死磕nginx系列--nginx入门
nginx 功能介绍 Nginx因为它的稳定性.丰富的模块库.灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅是因为响应 ...
- ES6简介之let和const命令解说
一.var申明变量 学习过JavaScript的同学都应该知道,ES5中申明变量使用var,ES5中的var可以说是无所不能的,所有类型的变量都是由var来申明,但往往很多使用者不知道var申明的变量 ...
- <数据结构与算法分析>读书笔记--递归
一.什么是递归 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的 ...
- JS重构分页
JS重构分页 很早以前写过一个Jquery分页组件,但是当时写的组件有个缺点,当时的JS插件是这样设计的:比如:点击 --> 查询按钮 ---> 发ajax请求 返回总页数和所有数据, ...
- Python2.7-operator
operator 模块,没有什么特殊的,简单说就是把常用的数学计算符号(+,-,*,**,/,<<,>>等)逻辑运算(or,and,xor,is,is_not)等以函数形式表示 ...