一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux中git命令基础篇

时间:2016-09-02 编辑:简简单单 来源:一聚教程网


之前一直在玩耍svn,git最近几年已经灰常的流行了,稍微尝试玩耍下:

[root@git ~]# git config --global user.name "Byrd"    #全局设置用户
[root@git ~]# git config --global user.email "root#t4x.org"    #全局设置用户邮箱
[root@git ~]# git config --global color.ui true    #设置颜色
[root@git ~]# git config --list    #列出已设置项
user.name=Byrd
user.email=root@t4x.org
color.ui=true
[root@git ~]# mkdir /git    #建立一个空目录
[root@git ~]# cd /git/
[root@git git]# git init    #创建一个空仓库
Initialized empty Git repository in /git/.git/
 
[root@git git]# cat readme.txt
1 : hello,world
[root@git git]# git status    #查看当前master分支情况,因为新建立了文件夹,所有会提示
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#       readme.txt
nothing added to commit but untracked files present (use "git add" to track)
[root@git git]# git add readme.txt    #将文件放入暂存区
[root@git git]# git commit -m "hello,world"    #将文件提交
[master (root-commit) 41c7830] hello,world
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 readme.txt
[root@git git]# git status
# On branch master
nothing to commit (working directory clean)
[root@git git]# git diff readme.txt    #比较当前修改和仓库文件对比
diff --git a/readme.txt b/readme.txt
index bcfe5e3..d3fded2 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
 1 : hello,world
+2 : 2th
[root@git git]# git add readme.txt    #可以使用git add .表示当前目录所有文件
[root@git git]# git commit readme.txt -m "2th"    #可以改成git commit -m "2th"
[master 2b91b7b] 2th
 1 files changed, 1 insertions(+), 0 deletions(-)
[root@git git]# git log
commit 2b91b7bf0acaef5603dc4b2e49371c3fedf93d0e
Author: Byrd
Date:   Tue Aug 30 06:14:06 2016 +0800
 
    2th
 
commit 41c78306340288daee42ea98727efac8941b624f
Author: Byrd
Date:   Tue Aug 30 06:07:19 2016 +0800
 
    hello,world
 
[root@git git]# cat readme.txt
1 : hello,world
2 : 2th
[root@git git]# git reset --hard HEAD^    #回退一个版本git reset --hard HEAD^^ 几个^表示几个版本
HEAD is now at 41c7830 hello,world
[root@git git]# cat readme.txt       
1 : hello,world
[root@git git]# git reflog     #可以查看所有分支的所有操作记录
41c7830 HEAD@{0}: HEAD^: updating HEAD
6471806 HEAD@{1}: commit: 2th
41c7830 HEAD@{2}: HEAD^: updating HEAD
2b91b7b HEAD@{3}: commit: 2th
[root@git git]# git reset --hard 2b91b7b    #回退到某个固定修改
HEAD is now at 2b91b7b 2th
[root@git git]# cat readme.txt
1 : hello,world
2 : 2th
[root@git git]# git commit -m "3th" readme.txt
[master afe6480] 3th
 1 files changed, 1 insertions(+), 0 deletions(-)
[root@git git]# cat readme.txt
1 : hello,world
2 : 2th
3 : 3th
4 : 4th
[root@git git]# git checkout readme.txt    #git checkout -- readme.txt    未提交的可以checkout
[root@git git]# cat readme.txt 
1 : hello,world
2 : 2th
3 : 3th

进阶篇:

[root@git git]# ssh-keygen -t rsa -C "pub#t4x.org"    #设置key,可以到github上面提交key后,把本地的提交到github
[root@git git]# cat /root/.ssh/id_rsa.pub
[root@git git]# tail -1 /etc/hosts
1.1.1.103   gitlab.ssh.t4x.org
[root@git git]# git remote add origin git@gitlab.ssh.t4x.org:byrd/t4x.git    #我本地搭建了gitlab,本地测试
[root@git git]# cat .git/config | grep t4x.org
        url = git@gitlab.ssh.t4x.org:byrd/t4x.git
 
 
 
 
[pub@git project]$ git push -u origin master    #本地数据提交到仓库
The authenticity of host 'gitlab.ssh.t4x.org (1.1.1.103)' can't be established.
RSA key fingerprint is 26:e5:f9:83:91:b7:96:ed:48:01:b8:3a:00:f0:16:71.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.ssh.t4x.org,1.1.1.103' (RSA) to the list of known hosts.
Counting objects: 3702, done.
Compressing objects: 100% (3556/3556), done.
Writing objects: 100% (3702/3702), 26.49 MiB | 7.15 MiB/s, done.
Total 3702 (delta 453), reused 0 (delta 0)
To git@gitlab.ssh.t4x.org:publicgroup/project-pub.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
[pub@git project]$ git push -u origin master
To git@gitlab.ssh.t4x.org:publicgroup/project-pub.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.ssh.t4x.org:publicgroup/project-pub.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.
 
[pub@git project]$ git pull origin master    #将数据拉回本地
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From gitlab.ssh.t4x.org:publicgroup/project-pub
 * branch            master     -> FETCH_HEAD
Updating 7803093..7d907d3
Fast-forward
 go.php |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
[pub@git project]$ git add go.php
[pub@git project]$ git commit go.php -m "delete 10 lines"
[master 51f4544] delete 10 lines
 1 files changed, 0 insertions(+), 1 deletions(-)
[pub@git project]$ git push -u origin master  
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 292 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@gitlab.ssh.t4x.org:publicgroup/project-pub.git
   7d907d3..51f4544  master -> master
Branch master set up to track remote branch master from origin.
常规操作方式:

一、Git global setup 全局配置


git config --global user.name "int"
git config --global user.email "int@t4x.org"

二、Create a new repository 建立一个新仓库


git clone git@gitlab.ssh.t4x.org:int/1111.git
cd 1111
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

三、Existing folder or Git repository 已经有仓库


cd existing_folder
git init
git remote add origin git@gitlab.ssh.t4x.org:int/1111.git
git add .
git commit
git push -u origin master


[int@git project-pub]$ git push -u origin master
To git@gitlab.ssh.t4x.org:publicgroup/project-pub.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.ssh.t4x.org:publicgroup/project-pub.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.
[int@git project-pub]$ git pull origin master
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From gitlab.ssh.t4x.org:publicgroup/project-pub
 * branch            master     -> FETCH_HEAD
Updating d27bb42..f2a4d14
Fast-forward
 go.php |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

热门栏目