git

git
gitlab
git使用
 
常用命令
gitlab-ctl status
gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl tail nginx
 
 
一,设置用户信息,用户名和邮箱(比如是谁提交的)
初始化
比如创建git_test项目
cd /opt/ && mkdir git_test&& cd git_test
git init  #会生成一个 .git 版本库目录(仓库), 所有 Git 需要的数据和资源都存放在这个目录中。
git init git_test  #直接生成工作目录和并初始化仓库
 
git config --global user.name "John Q.Ulsah"
git config --global user.email "ulsah@example.com"
 
检查配置信息
git config --list
 
二,初始化仓库
git init
 
克隆一个项目
ssh方式
 git clone git@gitlab.oa.com:user/openDNSname.git,回车.
 
账号方式
git clone http://userName:password@链接
邮箱的@请替换为%40
 
克隆分支
git clone  -b 分支名 http://1.1.5.4:8081/test/test.git
 
拉取tag
第一步:将远程代码拉取到本地
git clone -b develop git@gitlab.yopoint.vip:ac/YoPointSwift.git
(如果本地已有代码,可跳过第一步)
第二步:查看tag
git tag
第三步:检出tag
git checkout tagName
 
 
 
 
 
然后进入克隆的项目openDNSname
cd openDNSname
git add .     ##后面有个点(或文件名),git把所有修改过的文件且已经追踪的文件添加到本地的暂存区
git add --all    #(如果有删除)将删除操作提交至暂存区
git  commit  javaDNS.xml -m "javaDNSname"  #将修改的javaDNS.xml文件提单独交到本地仓库
git commit -m "提交所有改动"   #提交所有改动
git push
git push -u origin master   #提交代码到master分支
git status   #查看版本状态,看到新文件,修改过的文件以及被暂存的文件都有哪些,如图;

 

常用命令
git add  加入暂存(索引区)后面接文件名或一个点.(表示当前项目所有文件),如git add files或git add *.txt ,git add .等
git status  查看状态
git status -s 状态概览
git diff 尚未暂存的文件,文件对比.
git diff --staged    暂存区文件
git commit  提交更新到本地仓库,git commit -m '默认master分支'
git reset  回滚
git rm  从版本库中移除
git rm --cached file     从暂存区中移除
git mv  相当于mv git rm git add三个命令, 用于移动或重命名一个文件、目录、软连接。
git log 查看历史提交信息
git config --list 检查配置信息
 
 
分支命令
问题: 如果都在主分支上开发会导致混乱问题
默认在master,要先commit之后才会真正建立master分支,此时才可以建立其它分支
 
1,查看当前位置
git status
 
2,创建分支(创建的分支会纪录当前分支状态如当前分支提交信息类似做个快照)
git branch about
 
3,切换分支
git checkout about   ##也就是修改默认指针master,head指向为新建的分支,
 
4,分支命令
git branch     #显示当前分支
 
git branch -v               #详细显示
git branch --merged   #查看哪些merge 合并过来的分支
git branch --no-merged    #查看哪些没有merge 合并过来的分支
git branch -d testing        #删除分支
git checkout              #切换分支,准确的讲是切换指针
git checkout -- 文件名  ##对文件修改了进行撤销,例如对某个文件修改了800行可以对该文件撤销到修改之前的状态.
git merge        #把分支合并到主分支,先切到主分支再使用git merge 分支名 来合并,把分支文件移到主分支上.
git reset     ##回滚,重要
        --soft  缓存区和工作目录都不会被改变
        --mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响
        --hard 0sd93f2f   ##暂存和本地都回滚(类似删除)
        
        
git log
git stash          暂存当前修改的内容,比如修改了文件 ,使用git stash 标记下,然后再修改,发现不对,就可以使用git stash pop返回打标记的位置(注意先用git checkout . 清空工作区)
 
git tag                打标签
 
五,远程管理
git clone https://github.com/guohongze/adminset.git  ##相当于初始哈
git pull               ##从仓库拉取下来,回和本地仓库合并,有点危险
git pull origin dev   #拉取分支代码
git fetch                      ##只拉取代码不和本地仓库合并
git push origin master
git remote
git remote -v
git remote add xxx http://xxx
git remote show origin
git remote rename pb paul
git tag -a v1.0 -m 'abc'  #表示开发完的代码,打个标签,相当于做了个快照.
 
git tag -a v1.4 -m 'my version 1.4‘
git show v1.4
git tag -a v1.2 9fceb02                       对历史打标签
git push origin v1.5                    将标签推向远程
git push origin --tags                           推送多个标签
git checkout -b version2 v2.0.0        检出标签
 
拉取git的tag操作
先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。
但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:
git checkout -b branch_name tag_name
这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。
 
 
 

posted on 2022-07-15 17:48  Colin88  阅读(64)  评论(0编辑  收藏  举报