×

git 使用方法 git 教程

git 使用方法(git教程是什么)

admin admin 发表于2023-09-21 12:36:08 浏览40 评论0

抢沙发发表评论

本文目录

git教程是什么

git教程是教人学会使用git软件的课程内容。

git教程包含了以下内容:

1、安装git。

2、创建新仓库。

3、检出仓库。

4、工作流。

5、添加和提交。

6、推送改动。

7、分支。

8、更新与合并。

9、标签。

10、替换本地改动。

扩展资料:

git产生的故事

在1991年时,Linus开发出了Linux系统,当时的Linux是开源的,所以当时Linux发展非常的迅速,全世界很多热心的程序员都纷纷为Linux添砖加瓦,这些热心的程序员都是通过diff的方式把源代码文件发送给Linus,最后Linus手动将代码合并起来。

到了2002年之后,代码实在太多了。Linus也撑不下去了,所以无奈之下找了一个商业的版本控制系统BitKeeper,BitKeeper的老板还是有点魄力的,直接授权Linux免费使用他们的系统。

但是好景不长,在2005年,Linux社区里的一位大牛,开发Samba的Andrew试图去违规BitKeeper的协议,被BitKeeper公司发现了,结果可想而知。在此期间,Linus其实是可以挽回的,但是可能由于Linus江湖气息很重,一直没有道歉。

更加出人意料的事情就来了,Linus随后花了两周的时间用C写了一个分布式版本控制系统,它就是Git。一个月之内,Linux的代码就交给了Git来管理!

自己搭建的git服务器怎么使用

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器。一、安装GITWindows下使用msysgit,本文使用Git-1.7.8-preview20111206.exe 安装要点步骤安装完成后,可以使用Git bash在命令行模式下操作git二、安装CopSSH安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。CopSSH是windows下的SSH服务器软件,下载地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvcCOPSSH账户。将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式若是不允许密码认证,则需要使用公钥密钥方式认证,三、CopSSH中使用GIT现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。l 将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICW\bin目录下l 将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下重启CopSSH即可

windows git 怎么使用

方法/步骤1下载Git,从官方网站下载Git并安装,安装以后在windows 目录点右键快捷菜单会有Git相应的功能2进入Git Gui,配置git的用户名和邮箱3初始化一个Git代码库,创建一个文件夹并进入,点击右键“Git init here“,然后会创建一个代码仓库4添加文件,任何文件都可以,git会记录文件操作的状态。 进入“Git Gui“5选择未缓存的改动列表,添加注释并提交改动6把提交的改动上传到服务器,比如githubEND注意事项此文是windows下的git

如何优雅地使用 Git

安装并配置Git当时我们可以用万能的apt啊:sudo apt-get install git1如果是老一点的Debian或者Ubuntu,那就要(所以要及时更新源啊):sudo apt-get install git-core1如果是其他的Linux呢那就源码安装吧,解压后:./configmakesudo make install123安装完成后初步设置一下子:git config --global user.name “Your Name“git config --global user.email “email@example.com“12这里强烈建议大家去申请Gmail吧,人家Nessus都不认QQ邮箱的。 注意git config命令的- -global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。 至此,恭喜你,成功安装了Git。创建版本库首先,选择一个合适的目录,作为自己的工作目录root@firgavin-virtual-machine:~# mkdir learngitroot@firgavin-virtual-machine:~# cd learngit/root@firgavin-virtual-machine:~/learngit# pwd/root/learngitroot@firgavin-virtual-machine:~/learngit# git ininit instaweb root@firgavin-virtual-machine:~/learngit# git init初始化空的 Git 仓库于 /root/learngit/.git/12345678那么,一个新的Git仓库就建好了。切换进去查看一下:root@firgavin-virtual-machine:~/learngit# ls -al总用量 12drwxr-xr-x 3 root root 4096 8月 17 10:49 .drwx------ 5 root root 4096 8月 17 10:48 ..drwxr-xr-x 7 root root 4096 8月 17 10:49 .git12345虽然是个空的仓库(empty Git repository),但是可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。基本操作啊我们随便创建一个文件,当然是在当前目录下了:root@firgavin-virtual-machine:~/learngit# vi readme.txtroot@firgavin-virtual-machine:~/learngit# cat readme.txt Git is a version control system.Git is free software.1234提交也是相当简单的啊,只需要两步(不查看状态的情况下)即可:root@firgavin-virtual-machine:~/learngit# git add readme.txt root@firgavin-virtual-machine:~/learngit# git commit -m “wrote a readme file“ wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt这里呢,-m参数后面接的是本次提交说明,养成良好习惯每次都要写,而且要干练精简。 修改一下readme.txt如下:root@firgavin-virtual-machine:~/learngit# vi readme.txt root@firgavin-virtual-machine:~/learngit# cat readme.txt Git is a distributed version control system.Git is free software.12345使用git status查看当前仓库的具体状态:root@firgavin-virtual-machine:~/learngit# git status 位于分支 master尚未暂存以备提交的变更: (使用 “git add 《文件》...“ 更新要提交的内容) (使用 “git checkout -- 《文件》...“ 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 “git add“ 和/或 “git commit -a“)显然我们修改了文件但是并没有提交,那么我们的文件还是处于工作区的,于是Git人性化地提示我们,到底是要提交呢,还是放弃提交呢。不好确定就看一下修改内容吧:root@firgavin-virtual-machine:~/learngit# git diffdiff --git a/readme.txt b/readme.txtindex 46d49bf..9247db6 100644--- a/readme.txt+++ b/readme.txt@@ -1,2 +1,2 @@-Git is a version control system.+Git is a distributed version control system. Git is free software.很清晰的显示出改动的地方,不是么。 当然你确定修改的话就正常add然后commit,如果你要撤销修改的话,按照提示:root@firgavin-virtual-machine:~/learngit# git checkout -- readme.txtroot@firgavin-virtual-machine:~/learngit# cat readme.txt Git is a version control system.Git is free software.root@firgavin-virtual-machine:~/learngit# 123456命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次git commit或git add时的状态。 以上情况使用于你修改了工作区想直接丢弃工作区的修改,如果你修改了并且添加到了暂存区那么就要:root@firgavin-virtual-machine:~/learngit# git reset HEAD readme.txt重置后取消暂存的变更:M readme.txtroot@firgavin-virtual-machine:~/learngit# git status 位于分支 master尚未暂存以备提交的变更: (使用 “git add 《文件》...“ 更新要提交的内容) (使用 “git checkout -- 《文件》...“ 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 “git add“ 和/或 “git commit -a“)root@firgavin-virtual-machine:~/learngit# 1234567891011121314这里需要优先使用git reset HEAD file取消暂存区的变更,查看状态发现变更此时位于工作区。 然后参考第一种git checkout – file就万事大吉。 如果不但将文件add了又commit了,那么久需要版本回退 首先查看下当前有多少个版本:root@firgavin-virtual-machine:~/learngit# git logcommit 7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8Author: Xiaoming 《3052355537@qq.com》Date: Wed Aug 17 11:40:34 2016 +0800 di 1 ci ciu gaicommit 3b5aaff96463cad74ef7238a8324fc3298b7e748Author: Xiaoming 《3052355537@qq.com》Date: Wed Aug 17 11:02:04 2016 +0800 wrote a readme file12345678910111213或者使用一个更为简洁的命令来查看版本:root@firgavin-virtual-machine:~/learngit# git log --pretty=oneline 7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8 di 1 ci ciu gai3b5aaff96463cad74ef7238a8324fc3298b7e748 wrote a readme file123那么退回上一个版本只需要:root@firgavin-virtual-machine:~/learngit# git reset --hard HEAD^HEAD 现在位于 3b5aaff wrote a readme fileroot@firgavin-virtual-machine:~/learngit# git logcommit 3b5aaff96463cad74ef7238a8324fc3298b7e748Author: Xiaoming 《3052355537@qq.com》Date: Wed Aug 17 11:02:04 2016 +0800 wrote a readme file123456789好吧我操作失误又想回到刚才的版本怎么办,先用git reflog查看下commit ID然后调回即可:root@firgavin-virtual-machine:~/learngit# git reflog 3b5aaff HEAD@{0}: reset: moving to HEAD^7613ea2 HEAD@{1}: commit: di 1 ci ciu gai3b5aaff HEAD@{2}: commit (initial): wrote a readme fileroot@firgavin-virtual-machine:~/learngit# git reset --hard 7613ea2HEAD 现在位于 7613ea2 di 1 ci ciu gairoot@firgavin-virtual-machine:~/learngit# git log commit 7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8Author: Xiaoming 《3052355537@qq.com》Date: Wed Aug 17 11:40:34 2016 +0800 di 1 ci ciu gaicommit 3b5aaff96463cad74ef7238a8324fc3298b7e748Author: Xiaoming 《3052355537@qq.com》Date: Wed Aug 17 11:02:04 2016 +0800 wrote a readme file总结一下,git reset –hard HEAD^回到上个版本,git reset –hard commitID回到ID提交位置。 最后删除文件就十分简单明了了:git rm filenamegit commit -m “remove filename“12这样就可以将文件从版本库中删除了。万一从版本库中误删了可以:git checkout -- filename1即可将文件恢复至最新版本。