一、单机上使用Git
![](/upload/ad_content/xuanchuantu-3.jpg)
石城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为
成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!# yum install -y git
# mkdir /data/gitroot
# cd /data/gitroot
# git init //初始化仓库,初始化后ls -la可以看到一个.git的目录
在该目录下,随便写点东西,vim 1.txt
# git add 1.txt //把1.txt添加到仓库做标记
# git commit -m "add 1.txt" //add完了必须要commit才算真正把文件提交到git仓库里,-m指定解释说明的信息。解释说明一定要写清楚。
报错:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@MRX.(none)')
解决方法:
# git config --global user.name "aming"
# git config --global user.email "youjian"
定义好你的名字和邮箱。
# git commit -m "add 1.txt"
[master(根提交) 7e55239] add 1.txt
1 file changed, 5 insertions(+)
create mode 100644 1.txt
# git status //查看当前仓库中的状态,比如是否有改动的文件
# 位于分支 master
无文件要提交,干净的工作区
再次更改1.txt
先不添加到git仓库里,查看状态
# git status
# 位于分支 master
# 尚未暂存以备提交的变更:
# (使用 "git add..." 更新要提交的内容)
# (使用 "git checkout --..." 丢弃工作区的改动)
#
# 修改: 1.txt
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
# git diff 1.txt //相比较仓库里面的版本,对比本次修改了什么内容。
diff --git a/1.txt b/1.txt
index 958a6f4..100ff5b 100644
--- a/1.txt
+++ b/1.txt
@@ -4,3 +4,4 @@ lehopigbnipa
hjkasnklfejhuofj
ioveripooabvo
eovhsdidhbviabu
+bviagb
# git add 1.txt
# git commit -m "add 1.txt again" //把前面未提交的提交一下
[master 7802c4f] add 1.txt again
1 file changed, 1 insertion(+)
再更改一下1.txt的内容
# git add 1.txt
# git commit -m "ch 1.txt again"
[master c3792d6] ch 1.txt again
1 file changed, 2 deletions(-)
# git log //查看所有变更记录
commit c3792d659aba7feae2be7e09337067bfbf14db76
Author: aming//这里定义了名字和邮箱
Date: Sat Aug 31 20:38:58 2019 +0800
ch 1.txt again
commit 7802c4fbfb41a3426aec1e224c6b3b56b746ebfd
Author: amingDate: Sat Aug 31 20:37:12 2019 +0800
add 1.txt again
commit 7e55239fcf6283f801b2bb44e4f4feb163ef9406
Author: amingDate: Sat Aug 31 20:22:09 2019 +0800
add 1.txt
# cat /root/.gitconfig //这里面显示了名字和邮箱
[user]
name = aming
email = youjian
# git log --pretty=oneline //将内容用一行显示
c3792d659aba7feae2be7e09337067bfbf14db76 ch 1.txt again //前面的字符串为版本ID
158eee38da7accb5da0abcf5d8dd4afb2d5a587c add 1.txt again
7e55239fcf6283f801b2bb44e4f4feb163ef9406 add 1.txt
[root@MRX gitroot]# git reset --hard 158eee38 //回退版本,后面跟的字符串可以是简写
HEAD 现在位于 158eee3 add 1.txt again
# git log --pretty=oneline //因为版本回退了,所以后面的版本没有了
158eee38da7accb5da0abcf5d8dd4afb2d5a587c add 1.txt again
7e55239fcf6283f801b2bb44e4f4feb163ef9406 add 1.txt
# git reflog //查看所有历史版本,可以根据历史版本再恢复到后面的版本
158eee3 HEAD@{0}: reset: moving to 158eee38
c3792d6 HEAD@{1}: commit: ch 1.txt again
7802c4f HEAD@{2}: commit: add 1.txt again
158eee3 HEAD@{3}: commit: add 1.txt again
7e55239 HEAD@{4}: commit (initial): add 1.txt
# git reset --hard c3792d6
git log --pretty=oneline //后面的版本就都回来了
# rm -f 1.txt //不小心删除了
# git checkout -- 1.txt //恢复1.txt
如果1.txt文件做了更改,做了add但是没有做commit,再想回退到上一次提交的状态,
可以使用git reset HEAD 1.txt //这条命令可以把add的标记给它去掉
重置后撤出暂存区的变更:
M 1.txt
再执行git checkout -- 1.txt //恢复成修改之前的内容,就是把代码库里面最新的文件搞回来。
删除文件
# git rm 1.txt
rm '1.txt'
# git commit -m "delete 1.txt" //把库里面的也删掉,提交一次。
[master 742df99] delete 1.txt
1 file changed, 5 deletions(-)
delete mode 100644 1.txt
如果连库里的也删掉了,要想再恢复,就git log --pretty=oneline看历史版本,直接回退到上一个版本。
二、建立远程仓库
【本地项目推送到远程】
1、首先到https://github.com注册一个账号。再点sign in登录。
2、创建自己的git,点右上角加号,再点new repository。
3、数据库名字自定义,比如叫apelearn,选择public(公有),点 create repository。
4、添加密钥key:右上角点自己头像,选择settings,左侧选择SSH and GPG keys。//加密钥的目的是为了认证。
5、右侧点New SSH key,把linux机器上的~/.ssh/id_rsa.pub内容粘贴到key里,这个是公钥。如果没有,就使用ssh-keygen命令生成。
6、到/tmp目录下创建一个apelearn目录,进入apelearn目录。执行命令:
echo "# apelearn" >> README.md
git init
git add README.md
git commit -m "first commit"
# echo "# apelearn" >> README.md
# git init
初始化空的 Git 版本库于 /tmp/apelearn/.git/
//初始化以后会生成一个.git的目录,ls -la可以看到。
# git add README.md
# git commit -m "first commit"
# git remote add origin https://github.com/yaoweiyaowei/apelearn.git //把当前仓库里的东西推到远程上去
# git push -u origin master
Username for 'https://github.com': yaoweiyaowei //输入你GitHub的用户名和密码。
Password for 'https://yaoweiyaowei@github.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 209 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/yaoweiyaowei/apelearn.git
* [new branch] master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
7、把本地仓库推送到远程仓库git remote add origin https://github.com/yaoweiyaowei/apelearn.git //这一步是在远程创建一个新的仓库apelearn,名字尽量和本地的一致。
8、git push -u origin master //然后把本地的apelearn仓库推送到远程的apelearn。推送以后,到GitHub的apelearn仓库里刷新一下,就可以看到README.md存在了。
下一次再推送,就可以直接 git push。
试验:
写一个1.txt,内容随意。
# vim 1.txt
# git add 1.txt
# git commit -m "add 1.txt"
# git push
再到GitHub上仓库里刷新则可以看到2.txt了。
三、克隆远程仓库
【把远程的项目克隆到本地】
打开GitHub的一个仓库,里面有一个绿色的图标,写着Clone or download,点开后,将链接复制,然后到home目录下就可以使用克隆命令了。
# cd /home
# git clone git@github.com:yaoweiyaowei/lanmp.git //后面跟Git的地址。
它提示,会在这个当前/home目录下初始化一个仓库,并创建一个.git的目录。
如果还没有把公钥上传到GitHub上,也能克隆这个项目,可以读,但是没有权限写。
# cd lanmp
# vim README.md //随便加点东西
# git add README.md
# git commit -m "change readme.md"
# git push
再到GitHub的仓库里刷新可以看到变动。
![二、单机上使用Git、建立远程仓库、克隆远程仓库](/upload/otherpic16/28312.jpg)
关于在服务端改动文件内容,需要注意浏览器的不同,QQ浏览器无法识别变更内容,不能改,Firefox或者Chrome都可以。
![二、单机上使用Git、建立远程仓库、克隆远程仓库](/upload/otherpic16/28314.jpg)
QQ浏览器在这里是灰色的,不可以更改。改动内容提交后,可以再次看到变更:
![二、单机上使用Git、建立远程仓库、克隆远程仓库](/upload/otherpic16/28315.jpg)
服务端改了内容后,想将客户端的内容再更新,使用命令git pull,把它拉下来。
git push是往服务端上推。
git pull是往客户端下拉。
如果从来没有做过克隆,第一次做的时候要用git clone命令,SVN是checkout。
总结:
单击上使用Git:
# yum install -y git
# git init //初始化仓库
# git add 1.txt
# git commit -m "add 1.txt"
# git status //查看当前仓库的状态。
# git diff 1.txt //和仓库里的版本对比,本次修改了什么内容。
# git log //查看所有变更记录
# git log --pretty=oneline //将内容用一行显示
# git reset --hard 158eee38 //回退版本
# git reflog //查看所有历史版本
# git checkout -- 1.txt //不小心删除了文件,再恢复文件
# git rm 1.txt //删除文件
# git commit -m "delete 1.txt" //将库里面的也删掉
建立远程仓库:
1、登录GitHub
2、创建一个数据库(git)
3、添加密钥ssh key
4、到客户端的对应目录下初始化仓库
5、
echo "# 11111" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:yaoweiyaowei/11111.git //在远程创建一个新仓库
git push -u origin master
克隆远程仓库:
git clone命令,将远程项目克隆到客户端。后续用法一致,git add,git commit。
git push,往上推。
git pull,往下拉。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:二、单机上使用Git、建立远程仓库、克隆远程仓库-创新互联
链接地址:
http://csruizhi.cn/article/doppih.html