git入门命令笔记

来源:互联网 发布:表白网站制作软件 编辑:程序博客网 时间:2024/06/05 20:56

公司需要将代码从svn迁移到git,所以自己提前看了看git相关教程,几乎把google和baidu第一页关于git入门文章都看了,最后觉得廖雪峰写的相当棒,不过由于是从零入门,估计认真看需要一天来理解和练习操作了。(http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) 累计被访问了三百多万次,强烈推荐没了解过git的用户直接看上面的教程,不要往下看了。


1) git,github,gitlab分别是什么,有什么区别?

git是一个分布式版本管理软件。可以理解为svn替代软件github是一个代码托管网站,github.com只是个网站而已gitlab是git的山寨,但是它们命令都是一样的,不需要转化。因为git私有项目收费,而公司大多数需要用git私有功能,又不想出钱,就在公司内部自己搭建一个gitlab服务,供大家使用。我公司就是用gitlab,学习会git,用gitlab没发现什么区别。

2)配置了ssh key,还是需要输入git用户名和密码?
需要用类似的命令clone: git clone git@gitlab.xx.com:zhanglong/search_dev.git
页面选择ssh就可以出现git地址:
这里写图片描述

我自己刚开始就是用的git clone http的协议下载,我还纳闷,为啥配置了sshkey,还是需要我输入用户名和密码呢?难道是我版本不对吗?在网上看了一下,有人说需要设置成ssh协议,接着有人问,怎么设置ssh协议呢?其实只用点一下下拉列表的选项就ok了


环境:系统ubuntu14.04
1,安装git

sudo apt-get install git

2,配置git用户名和邮箱

 git config --global user.name "zl544434558" git config --global user.email "544434558@qq.com"

(执行完以上两句配置语句,ubuntu没有任何提示)

3,创建git仓库

mkdir git_repositorycd git_repository/evan@evan:~/git_repository$ git initInitialized empty Git repository in /home/evan/git_repository/.git/ (提示信息)

4,ls -ah (显示隐藏文件)

evan@evan:~/git_repository$ ls -ah

5,创建文件 vim readme.txt,文件内容:

Git is a version control system.Git is free software.

6,将文件添加到暂存区

git add readme.txt 

7,将暂存区文件提交到本地git仓库。如果这忘了-m,会进入一个注释页面,^就是ctrl键,退出直接按ctrl+x即可。

git commit -m "wrote a readme file"

8,编辑文件vim readme.txt,文件内容:

Git is a distributed version control system.Git is free software.

9,比较两次修改的不同

git diff 

10,再次将修改后的文件从工作去添加到暂存区

git add readme.txt

11,再次将文件从暂存区提交到git本地版本库

git commit readme.txt

12,显示不同提交版本历史

git log

13,回退到上一个版本

git reset --hard HEAD^

14, 会发现回退之前最新版本没有显示

git log

15,回到最新版本 (commit id不必是完整的,只要是前几位就可以)

 git reset --hard e228d438e707a49cd1117f8eec25de3 

16,重现git执行过得命令 git reflog (类似linux的history)

 evan@evan:~/git_repository$ git refloge228d43 HEAD@{0}: reset: moving to e228d438e707a49cd1117f8eec25de3add43120d078d772 HEAD@{1}: reset: moving to HEAD^e228d43 HEAD@{2}: commit: append GPL078d772 HEAD@{3}: commit: add distributedd8efec3 HEAD@{4}: commit (initial): wrote a readme file

17,撤销本地修改

git checkout -- <file>..

18,撤销暂存区文件修改

git reset HEAD <file>...

19,删除远程文件并提交

git rm <file>git commit -m "delete file"

20,查看是否生成过ssh key 如果存在id_rsa和id_rsa.pub说明之前生成过ssh key。

evan@evan:~/git_repository$ ls ~/.ssh/id_rsa  id_rsa.pub  known_hosts

21,生成ssh key,输入命令 ssh-keygen -t rsa -C “544434558@qq.com” 然后一路回车即可

evan@evan:~/git_repository$ ssh-keygen -t rsa -C "544434558@qq.com"Generating public/private rsa key pair.Enter file in which to save the key (/home/evan/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/evan/.ssh/id_rsa.Your public key has been saved in /home/evan/.ssh/id_rsa.pub.The key fingerprint is:19:12:f4:d4:e6:9f:2a:c9:f4:e5:b5:85:2f:0f:89:b6 544434558@qq.comThe key's randomart image is:+--[ RSA 2048]----+|     .o ..       ||       +  o      ||      . oo       ||       . o.      ||        S  . . . ||        .   +.o..||       o o +o.o+ ||        + o...o..||         .  E  o.|+-----------------+

22,将生成的ssh key 配置到github中
这里写图片描述

23,在github上创建一个新的仓库名称。名称任意
这里写图片描述

24,将本地的仓库下项目添加远程关联

git remote add origin http://xx.com/zhanglong/wj_spider.git

25,提交到远程仓库

git push origin master
0 0
原创粉丝点击