三十分钟学习git的常用命令

最近在研究puppet的企业架构部署,补充下自己的git方面的知识。

位置:

cd /home/nginx
git init

建立单纯的git仓库:

cd /var/nging.git
git clone --bare /home/nginx /var/nginx.git

我们搭建git学习环境:

cd /home/nginx
git add *
git commit -a -m "init"
git remote origin /var/nginx.git
git push origin master:master

另一个副本目录:

git clone /var/nginx.git /opt/mynginx

至此,git环境应搭建完毕。

git仓库为/var/nginx.git

git的副本目录为:/home/nginx /opt/mynginx

git语法学习:

1:往git仓库中添加文件

在其中一个副本目录中操作:

cd /home/nginx
touch 1.txt
git add 1.txt
git commit -a -m ‘add 1.txt‘
git push origin 
另一个副本目录:
cd /home/mynginx
git pull origin   —-->把远程的仓库中的下载到本地,类似的svn up
注意:
git fetch origin  ---->只下载变更信息,相当于pull的过程的前一部分。

增删改,和添加文件操作类似。

2: 创建分支

cd /home/nginx
git branch    ----->查看分支
git branch test  ----->新建test分支
git checkout test  ---->切换到test分支

在test分支中,进行一次创建文件的操作:

[[email protected] nginx]# git checkout test
Switched to branch ‘test‘
[[email protected] nginx]# touch 10.txt
[[email protected] nginx]# git add 10.txt
[[email protected] nginx]# git commit -a -m ‘add 10.txt‘
[test e517336] add 10.txt
 Committer: root <[email protected]>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email [email protected]

If the identity used for this commit is wrong, you can fix it with:

    git commit --amend --author=‘Your Name <[email protected]>‘

 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 10.txt
[[email protected] nginx]# ls 10.txt 
10.txt
[[email protected] nginx]# git checkout master
Switched to branch ‘master‘
[[email protected] nginx]# ls 10.txt
ls: cannot access 10.txt: No such file or directory
[[email protected] nginx]# git merge test master
Trying simple merge with test
Already up-to-date with master
Merge made by octopus.
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 10.txt
[[email protected] nginx]# ls 10.txt 
10.txt
[[email protected] nginx]# git push origin 
Counting objects: 4, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 363 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /var/ngint.git/
   8c40602..c66f7c2  master -> master

这时就能在另一个副本,下载最新文件了:
[[email protected] nginx]# cd /opt/mynginx/
[[email protected] mynginx]# git pull origin
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /var/ngint
   8c40602..c66f7c2  master     -> origin/master
Updating 8c40602..c66f7c2
Fast-forward
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 10.txt
[[email protected] mynginx]#

“branch分支传递”:

[[email protected] nginx]# git branch test2
[[email protected] nginx]# git branch 
* master
  test
  test2
[[email protected] nginx]# git push origin test2:test2
Counting objects: 30, done.
Compressing objects: 100% (25/25), done.
Writing objects: 100% (28/28), 2.87 KiB, done.
Total 28 (delta 14), reused 0 (delta 0)
Unpacking objects: 100% (28/28), done.
To /var/ngint.git/
 * [new branch]      test2 -> test2
 [[email protected] mynginx]# git fetch origin
remote: Counting objects: 30, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 28 (delta 14), reused 0 (delta 0)
Unpacking objects: 100% (28/28), done.
From /var/ngint
 * [new branch]      test2      -> origin/test2

[[email protected] nginx]# cd /opt/mynginx
[[email protected] mynginx]# git  checkout -b test2 origin/test2
Branch test2 set up to track remote branch test2 from origin.
Switched to a new branch ‘test2‘
[[email protected] mynginx]# git branch
  master
  test
* test2

回退:

1:修改完后没有add操作的回退

[[email protected] nginx]# echo "haha" >> 3.txt
[[email protected] nginx]# cat 3.txt 
this is just a test!
haha
[[email protected] nginx]# git checkout 3.txt
[[email protected] nginx]# cat 3.txt 
this is just a test!
[[email protected] nginx]#

2:已经add操作的回退

[[email protected] nginx]# echo "haha" >> 3.txt
[[email protected] nginx]# cat 3.txt           
this is just a test!
haha
[[email protected] nginx]# git add 3.txt
[[email protected] nginx]# cat 3.txt 
this is just a test!
haha
[[email protected] nginx]# git reset --hard HEAD
HEAD is now at 7d31256 add 20.txt
[[email protected] nginx]# cat 3.txt 
this is just a test!
[[email protected] nginx]#

3:已经commit操作的回退

[[email protected] nginx]# echo "gaga" >> 3.txt
[[email protected] nginx]# cat 3.txt 
this is just a test!
this is just a test!
hahhhh
gaga
[[email protected] nginx]# git add 3.txt ;git commit -a -m ‘modify 3.txt‘
[master be0ec23] modify 3.txt
 Committer: root <[email protected]>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email [email protected]

If the identity used for this commit is wrong, you can fix it with:

    git commit --amend --author=‘Your Name <[email protected]>‘

 1 files changed, 1 insertions(+), 0 deletions(-)
[[email protected] nginx]# git log | head -20
commit be0ec23cb49cc386533ff3512a21690cb89190cc
Author: root <[email protected]>
Date:   Fri Apr 10 16:33:32 2015 +0800

    modify 3.txt

[[email protected] nginx]# git revert be0ec23cb49cc386533ff3512a21690cb89190cc
[[email protected] nginx]# cat 3.txt
this is just a test!
this is just a test!
hahhhh

参考资料:

http://my.oschina.net/u/877348/blog/152660

时间: 2024-10-07 08:27:02

三十分钟学习git的常用命令的相关文章

git的常用命令

 git的常用命令 一.bash的简单命令 注意:首字母都是小写 1.Pwd 查看当前目录 2.Cd /e 切换到e盘 3.Cd 文件夹名称   切换到下一个目录 4.Cd ../ 返回上一级目录 5.Ls 查看当前目录的内容  (canvas/ 是文件夹) 6.Ls -a 查看所有文件 -a 是all的意思 7.Mkdir hello创建目录(文件夹)名为hello 8.Touch test.txt 创建文件test.txt 9.Cat 文件名 查看文件中的内容 10.Wc 文件名  统计文件

2015.11.06 学习Ubuntu下常用命令

2015.11.06 学习Ubuntu下常用命令 1.关闭防火墙:ufw disable 2.开启防火墙:ufw enable 3.防火墙状态:ufw status 4.查看占用的端口:#lsof -i 5.查看某一个端口:#lsof -i:8080  或者是: #netstat -apn|grep 8080————接着:#ps -aux|grep 进程号 6.结束占用端口的进程:#killall 进程名 7.自己写一遍,记得牢!

git的常用命令。。

git的常用命令.. git help <command>  显示command的help git show  显示某次提交的内容 git show $id git co -- <file>  抛弃工作区修改 git co .  抛弃工作区修改 git add <file>  将工作文件修改提交到本地暂存区 git add .  将所有修改过的工作文件提交暂存区 git rm <file>  从版本库中删除文件 git rm <file> --c

GIT 版本控制常用命令汇总

[转自]:http://www.cnblogs.com/sawyerzhu/p/3578268.html GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git config user.name "Your Name Comes Here" 设置当前项目git用户名 git config --global user.name "Your

学习笔记 | sqlmap常用命令

请移步以下链接查看本文章 学习笔记 | sqlmap常用命令 http://www.lofter.com/lpost/1f350fa3_120429c7 原文地址:http://blog.51cto.com/1425831735/2059514

Docker 学习 (2): 常用命令

Docker 学习 (2): 常用命令 命令行操作前提: systemctl start docker 启动docker sudo -i 进去root模式 一.帮助命令 docker version 查看对应安装的版本号,可以用来检测docker是否安装c成功 docker info Docker容器安装之后,个人信息的描述,比version更加详细 docker --help docker的帮助命令 二.镜像命令 前提:在操作镜像的时候,如果镜像名称的后面没有加版本号,那默认就是操作的最高的版

git之常用命令

git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + Z +Z //z必须是大写,连按两次 报错: refusing to merge unrelated histories 解决: git pull origin master --allow-unrelated-histories 原文地址:https://www.cnblogs.com/s313

Linux中git的常用命令

1.安装依赖包 sudo yum install curl-devel expat-devel gettext-developenssl-devel zlib-devel sudo yum install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 2.安装git yum -y install git 3.创建项目目录 mkdir gitbase cd gitbase 4.创建共享库 sudo git init 5.

Git基础(常用命令)介绍

版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统,如rcs:集中化的版本控制系统,如CVS.SVN:分布式版本控制系统,如Git. Git基础要点 Git和其它版本控制系统的主要差别在于:Git只关心文件数据的整体是否发生变化,而大多数其它系统则只关心文件内容的具体差异. 对于任何一个文件,在Git内都只有三种状态:已提交(committed).已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本