git简明教程

第一部分:安装和配置

1.安装git 

[root@x ~]# yum install -y git

 

2.初始化git

[root@x ~]# git config --global user.name "test"
[root@x ~]# git config --global user.email "[email protected]"

这两条命令分别设置git账号和邮箱

 

3.关联远程git仓库,此处用github做演示

(1).首先需要在本地机器上生成一个SSH Key


[root@x ~]# ssh-keygen -t rsa -C "[email protected]"

生成成功后将会在你的主目录生成一个隐藏目录.ssh,里面包含两个文件id_rsa和id_rsa.pub。

其中id_rsa是私钥,建议不要泄露,id_rsa.pub是公钥,

[root@x ~]# cd ~/.ssh
[root@x ~]# vi id_rsa.pub
(2).登录你的github账号,将id_rsa.pub中的内容全部添加到github的ssh key中,如下图:

git简明教程_第1张图片

 

其中title可以随便填写,Key就写刚才生成的

 

4.将远程仓库的代码克隆到本地

[root@x git]# git clone [email protected]:test/myfiles.git
Initialized empty Git repository in /root/git/myfiles/.git/
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 14 (delta 0), reused 14 (delta 0), pack-reused 0
Unpacking objects: 100% (14/14), done.

 

第二部分:操作文件

1.新增和修改文件

首先在本地磁盘上添加文件,然后将文件添加到git的暂存区,再上传到远程仓库github,如下:

[root@x git]# vi readme.txt
[root@x git]# git add readme.txt
[root@x git]# git commit -m "add readme file"
[root@x git]# git push origin master
注:如果git push时出现403错误,可先执行以下命令,再push (注意是ssh方式)
[root@x git]# git remote set-url origin [email protected]:test/myfiles.git

修改和新增一样,直接编辑文件后执行以上命令即可。

 

2.删除文件

首先在本地删除文件,然后删除git暂存区的文件,再提交删除

[root@x git]# rm readme.txt
[root@x git]# git rm readme.txt
[root@x git]# git commit -m "rm readme.txt"
[root@x git]# git push origin master

 

3.撤销操作

这里有两种情况:

(1).修改了文件,但是没有执行 git commit 提交到暂存区,可以执行如下操作进行撤销:

[root@x git]# git checkout -- readme.txt  #注意,-- 不能少,否则就是切换到另一个分支了

(2).如果修改了文件,并且已经执行了 git commit 提交到了git的缓存区,此时若想撤销可以执行 git reset HEAD,再 git checkout -- .

[root@x git]# git reset HEAD readme.txt
[root@x git]# git checkout -- readme.txt

(3).查看状态

[root@x myfiles]# git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

上面的结果表示readme文件被修改过了,但是还没有提交到暂存库中。

 

4.版本回退

如果文件文件修改完后已经 push 提交到了远程仓库,此时若要回退到以前的版本

(1).回退到上一个版本

[root@x git]# git reset --hard HEAD^  #回退到上面第二个版本用HEAD^^...,第一百个用HEAD~100

(2).回退到指定版本号的版本

[root@x git]# git reset --hard eab23e528f99cb53606554984ea1308005f8e35a   #eab23e528f99cb53606554984ea1308005f8e35a是版本号,可以前面几位,如eab23e528

(3).查看历史版本

[root@x git]# git log 
如果只想看简化结果,可以加 --pretty-oneline 参数
[root@x git]# git log --pretty-oneline

 

5.查看当前文件和暂存库中文件的区别

[root@x myfiles]# git diff HEAD -- readme.txt
diff --git a/readme.txt b/readme.txt
index 6102ad0..2c8b3b9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1 @@
-It's my files...
+It's my files

如果文件相同则不会有任何回显。

 

第三部分:分支管理

 

第四部分:标签管理

 

第五部分:自定义git

 

你可能感兴趣的:(git简明教程)