Gitlab的使用:
操作记录:
安装git
配置/etc/hosts
git config
在gitlab创建项目
[root@DX-1 ~]# git config --global user.name"crazyyanchao"
[root@DX-1 ~]# git config --global user.email"[email protected]"
[root@DX-1 ~]# vim .gitconfig
[root@DX-1 ~]# cd /root/
[root@DX-1 ~]# vim .gitconfig
ssh-copy-id
ssh-keygen
cd .ssh/ ls cat id_rsa.pub
Linux 中创建 pub key, 导入 gitlab
git init 创建新项目并上传(或者 gitclone)
建立新文件, git add
git commit
git push
执行:
git config --global user.name "Crazyyanchao" git config --global user.email "[email protected]"
[ root@DX-1 ~]# cd /root/
[ root@DX-1 ~]# vim .gitconfig(查看自动生成的文件)
有权限做克隆动作生成公钥:
ssh-copy-id
ssh-keygen
[ root@DX-1 ~]# cd .ssh/
[ root@DX-1 .ssh]# ls
[ root@DX-1 .ssh]# cat id_rsa.pub
[ root@DX-1 .ssh]# cd
[ root@DX-1 ~]# cd /mnt/
[ root@DX-1 mnt]# ls
[ root@DX-1 mnt]# mkdir project
[ root@DX-1 mnt]# ls
project
[ root@DX-1 mnt]# cd project
[ root@DX-1 project]# ls
[ root@DX-1 project]# git clone [email protected]:Crazyyanchao/testproject.git(远端克隆项目)
[ root@DX-1 project]# ls
testproject
[ root@DX-1 project]# cd testproject
[ root@DX-1 testproject]# ls
[ root@DX-1 testproject]#
[ root@DX-1 testproject]# touch README.md
[ root@DX-1 testproject]# git add README.md
[ root@DX-1 testproject]# git commit -m "add README"
[ root@DX-1 testproject]# git push -u origin master
详细说明:
#配置使用git仓库的人员姓名
git config -global user.name “Mike"
#配置使用git仓库的人员email
git config -global user.email [email protected]
使用:git config --global color.ui true改变颜色
[root@DX-1 testproject]# ls
README.md
[root@DX-1 testproject]# echo hello>>README.md
[root@DX-1 testproject]# git diff
[root@DX-1 testproject]# git config -global color.ui true
[root@DX-1 testproject]# git config --global color.ui true
[root@DX-1 testproject]# git diff
注释修改了文件:
[root@DX-1 testproject]# cat /root/.gitconfig
[user]
name = Crazyyanchao
email = [email protected]
[color]
ui = true
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config -I #列举所有配置
#用户的git配置文件〜/.gitconfig
#初始化一个版本仓库 git init
#Clone远程版本库
git clone git@host:project.git
#添加远程版本库origin
git remote add origin g it@host: project.g it
git help <command> # 显示command的help
git show #显示最近一次提交
git show <version> #显示指定版本的提交
git add <file> #将工作文件修改提交到index (什么是丨ndex,下页解释) git add . #将所有修改过的工作文件提交到index
增加一个文件:
[ root@DX-1 testproject]# echo "ok" > ok
[ root@DX-1 testproject]# ls
ok README.md
[ root@DX-1 testproject]# git add ok
[ root@DX-1 testproject]# git commit (注释:最上面增加一行Add ok保存退出)
[ root@DX-1 testproject]# git log
index解释:
git reset --mixed #默认参数,恢复index中的修改,已经add但还未commit的修改可以用它reset (只对index中修改)
git reset --soft HEAD~1 # 恢复commit中修改,index中保留(回退一步)
git reset --hard <version> #将本地文件空间恢复为指定的版本,同时修改所有的index及本地库 git reset HEAD <file>(撤回,代码回滚,可带参数或者不带参数)// git commit -m "Add okok"
git commit <file> #将修改提交到本地库
git commit
git commit -a # 将
git add
(
或
git rm)
和
git commit
等操作都合并在一起做
git commit -am "some comments"
以下为一个反例,当笑话看看:实际工程不能这样做!
git revert <version> #撤销某次提交,撤销动作本身也创建了一次提交对象 git revert HEAD #撤销最后一次提交
基本使用(diff)
git diff <file> #比较当前文件和index文件差异
git diff
git diff <V1> <V2> #比较两次提交之间的差异 (v1 v2为版本号)
git diff --cached #比较index与本地库差异
git diff HEAD #比较工作版本与HEAD (本地库)的差异
git log
git log <file> #查看该文件每次提交记录
git log -p <file> #查看每次详细修改内容的diff
git log -p -2 #查看最近两次详细修改内容的diff
基本使用(代码提交)
#添加当前修改的文件到i ndex
git add .
#追加修改
git add -u
#提交
git commit -m "注释"
#推送更新到远程服务器
git push origin master
#查看文件状态
git status
#移除文件,并完全删除
git rm readme.txt
#从版本库中删除文件,但不删除文件 (工作目录中不被删除)
git rm -cached readme.txt
#重命名文件
git mv reademe.txt readme
git branch mybranch
git branch 新建分枝
git branch -r #查看远程分支
git branch -a #查看所有分支
git branch <new_branch> # 创建新的分支
git branch -v #查看各个分支最后提交信息
git checkout <branch> #切换到某个分支
git checkout -b <new_branch> #创建新的分支,并且切换过去
git checkout -b <new_branch> <branch> # 基于branch创建新的 new branch
git checkout <version> #把某次历史提交记录checkout出来,但无分支信息,切换
到其他分支会自动删除
git checkout <version> -b <new branch> # 把某次历史提交记录checkout出来,创建成一 个分支
git branch -d <branch> # 删除某个分支
基本使用(merge及rebase)
git merge <branch> #将branch分支合并到当前分支
git rebase master <branch> # 将master rebase到branch,没有branch时为当前 branch
基本使用(补丁)
git diff> ../sync.patch #生成补丁
git apply ../sync.patch #打补丁
基本使用(代码获取)
git pull #获取远程仓库所有分支更新并合并到本地
git pull <remote_name> <branch_name> #获取指定仓库指定分支的代码
git fetch origin #抓取远程仓库更新
git fetch origin master:tmp
git diff tmp
git merge tmp
git push # push所有分支
git push origin master #将本地主分支推到远程主分支
git push -u origin master #将本地主分支推到远程(如无远程主分支则创建,用于初始 化远程仓库)
git push origin <local_branch> # 创建远程分支(当local_branch为本地新创建时,origin
为远程库名称)
git push origin <local_branch>:<remote_branch> # 创建远程分支
git push origin :<remote_branch> #先删除本地分支(git branch -d <branch>),然后 push删除远程分支
基本使用(远程创库操作)
git remote -v #查看远程服务器地址和仓库名称
git remote show origin #查看远程服务器仓库状态
git remote add origin git@host:xyz.git # 添加远程仓库地址
git remote set-ur丨origin git@host:xyz.git #设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库
(试一试,github与gitlab代码同步)github.com