首页 > 其他分享 >Git笔记分享-crazychao

Git笔记分享-crazychao

时间:2022-11-28 16:04:15浏览次数:51  
标签:Git branch config 笔记 git DX testproject crazychao root


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


Git笔记分享-crazychao_Git



[ ​​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笔记分享-crazychao_git_02



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笔记分享-crazychao_Git_03



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笔记分享-crazychao_远程分支_04

Git笔记分享-crazychao_Git_05




基本使用(补丁)


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





标签:Git,branch,config,笔记,git,DX,testproject,crazychao,root
From: https://blog.51cto.com/u_13618048/5891688

相关文章

  • 多线程笔记-1
    多线程学习(一)线程的介绍 一、创建线程的方式 1.继承Thread类 publicclassMyThreadextendsThread{ @Override publicvoidrun(){ System.out.println......
  • ubuntu安装gitlab并配置
    ubuntu系统版本信息root@zhang-virtual-machine:~#lsb_release-aNoLSBmodulesareavailable.DistributorID:UbuntuDescription:Ubuntu18.04.6LTSRelease:18.0......
  • git-pull 远程代码与本地冲突解决方案
    一.产生冲突的原因团队其他成员修改了某文件并已提交入库,你在pull之前修改了本地该文件,等你修改完代码再pull时,这时会报错如下错误:error:Yourlocalchangestot......
  • velocity-1.7学习笔记
    Velocity是由Apache软件组织提供的一项开放源码项目,它是一个基于Java的模板引擎。通过Velocity模板语言(VelocityTemplateLanguage,VTL)定义模板(Template),并且在模板中不包......
  • gitee上传失败问题
    error:failedtopushsomerefsto'https://gitee.com/herryxm/hhgolbalk3.git' hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehind hi......
  • kooder安装及本地搜索git仓库代码
    kooder安装及本地搜索git仓库代码需求背景:如果需要从Git代码仓库查询某个配置项做批量的更新替换,如果一个一个找不合适且容易遗漏,需要借助第三方工具来模糊查询来实现。1......
  • 吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础
    吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础工业革命和颠覆式创新的范式:现有产业+新技术=新产业。从工业革命之前一个世纪开始一直到二战之前,科学基础......
  • 罗剑锋的C++实战笔记-学习笔记(3)
    书接上文,三句名言镇楼。三句名言镇楼任何人都能写出机器能看懂的代码,只有优秀的程序员才能写出人看懂的代码两种写程序的方式:把代码写的非常复杂,以至于"看不出明显......
  • Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香
    关于抓包,那是测试人员必备技能之一了,通常我们会通过一些抓包工具来辅助我们测试、定位bug。我最早接触并使用的就是fiddler,不过目前最新版本已经要开始付费了,以前很老的那......
  • 全链路压测效能10倍提升的压测工具实践笔记【开源】【原创】
    BSF全链路自动化测试工具(autotest),可批量导入样本,自动录制样本,自动样本清洗,自动化压测,自动输出压测报告,让开发和压测人员性能测试的效能提升10倍!!!背......