Git 是个好东西,做开发的一定要尽早熟悉并使用。可以建本地仓库,也可以建远程仓库。
Git 是一个文件版本控制软件,分为本地仓库和远程仓库(依我的理解),如果你只需要在本地进行代码版本管理,则只需要在本地搭建一个git即可。如果你需要和他人一起协作开发,则需要在远程服务器上也搭建一个git,或者使用Github。
关于安装git 和 TortoiseGit 可以参考
https://blog.csdn.net/hello_world_qwp/article/details/80857341
https://blog.csdn.net/hello_world_qwp/article/details/80857558
比较详细。
本文不是在实验的机器上写的,不方便截图,纯粹用文字描述,不清楚之处请见谅!
一. 本地搭建git 用于版本控制(windows)
1. 先安装git, 再安装TortoiseGit. TortoiseGit只是一个图形化的客户端,它还是要依赖git,所以先必须安装git. 具体的过程这里就不再详述了。
2. 安装完成后就可以在本地进行版本管理了。选则你的项目的根目录,然后右击,选择“Git Create repository here”. 不要勾选"make it bare". 目录下会多了一个.git 的目录。
3. 在目录下创建文件,添加内容等操作。右击,选择“Git Commit... -> master...”.在弹出的对话框上面填上这次修改说明,下面勾选要提交的文件(新修改的文件)。点击OK 即可。
4. 右击,选择TortoiseGit->Show log 可以查看更新记录。这里有个非常中要的功能,回滚版本。假如后面开发的过程中有错误,需要跳回到原先的版本,则可以使用此功能。选择里面某个版本,右击选择reset ''xxxx'' to this
上面选commit, 下面选hard(删除所有本地修改)则可实现本地版本回滚。使用Hard模式请注意,会删除选择版之后的所有修改!!
二. 在kali linux 上搭建git 服务器 ,window git 作为客户端
参考:https://www.cnblogs.com/dee0912/p/5815267.html
1. apt-get install git
2. 添加git 用户
useradd git
passwd git
3. 建立项目仓库
cd /home/git
su git(关键)
mkdir pro_xxx.git
git init --bare pro_xxx.git
4. 查看ssh 服务是否开启
# /etc/init.d/ssh status
# /etc/init.d/ssh start
5. 进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:
RSAAuthentication yes (这个选项没有找到)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存并重启 sshd 服务:
# /etc/init.d/ssh restart
由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys
6. windows 客户端生成SSH 公钥和私钥
在windows 下打开git-bash, 输入 ssh-keygen -t rsa -C "your_git_mail@xxx.com", 下面选择路径不要变,然后输入私钥密码即可。这个密码要记住,后面Commit 的时候要用到。
找到用户目录下 C:\Users\xxx\.ssh\id_rsa.pub, 这个是ssh 公钥,将内容拷贝到 /home/git/.ssh/authorized_keys.
7. 这个时候可以直接用git 客户端进行 git clone 了。但是TortoiseGit 还需要再设置以下ssh客户端的路径。
右键---->小乌龟--->settings--->network--->修改ssh client为git的ssh.exe. 我这里的路径是C:\Git\usr\bin\ssh.exe。这个时候就可以用小乌龟进行push 和Clone了。
感谢参考文献作者做出的贡献!