git学习与使用

安装与环境配置:

1. 安装git $ dnf install git
2. 创建一个git用户,用来运行git服务 $ adduser git
3. 创建证书登录
   收集所有需要登录的用户的公钥,即id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
4. 初始化Git仓库
   在/srv目录下输入命令: $ git init --bare sample.git
   把owner改为git: $ chown -R git:git sample.git
5. 禁用shell登录
   编辑/etc/passwd文件 git:x:1001:1001:,,,:/home/git:/bin/bash 改为 
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
6. 克隆远程仓库
   通过git clone命令克隆远程仓库
$git clone git@server:/srv/sample.git

管理公钥
可以用Gitosis来管理公钥。

生成密钥:
$ ssh-keygen -t rsa -C “test@gmail.com”

导入git 用户的公钥。
$ cat /home/git/.ssh/id_rsa.pub >>  /home/git/.ssh/authorized_keys

GitHub中添加key:
登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:


Adding SSH key to the ssh-agent:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa


git命令使用:

git add readme.txt
git commit -m "123"
git status
git diff
git log
git reflog
git reset --hard HEAD^
git diff HEAD -- readme.txt
git pull

git push

git clone

TFS Get Latest  ==  Git Pull 
TFS Check out可手动自动, Git也一样。只要文件出现修改变化,在Commit提交的时候会出现在提交列表里面,类似TFS的Pending Changes。
TFS Check in  == Git Commit + Git Push
Git Commit为提交到本机仓库
Git Push为提交至中心仓库 (即Fserver)


checkout命令使用:
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
(1) readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
(2) readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令.


用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:


分支:
创建并切换到dev分支 $ git checkout -b dev
相当于 $git branch dev  $ git checkout dev

用git branch命令查看当前分支 $git branch

把dev分支合并到master分支上 $git merge dev

删除dev分支 $git branch -d dev


Bug分支:
Git提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作: $git stash

工作区是干净的,用git stash list命令查看刚才的工作现场。

Git把stash内容存在某个地方了,恢复有两个办法:
(1) 用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
(2) 用git stash pop,恢复的同时把stash内容也删了。


推送分支:
推送分支,就是把该分支上的所有本地提交推送到远程库。

推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
$ git push origin master

更新远程更新到本地:
git pull origin master


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值