git 安装和使用

2022-10-25 14:15:02 浏览数 (2)

Git 安装和使用

代码语言:javascript复制
$ yum -y install git  //安装git
$ git –-version  //验证

关于 git clone 权限的问题

代码语言:javascript复制
$ cd ~/.ssh
#如果没有密钥则不会有此文件夹,有则备份删除
#生成密钥:
$ ssh-keygen -t rsa -C "dev@chuchur.com"

# 按3个回车,密码为空。
# 最后得到了两个文件:id_rsa和id_rsa.pub

# 添加密钥到ssh:
$ ssh-add ~/.ssh/id_rsa (需要之前输入密码.)

# 将id_rsa.pub 内容  添加到gitlib or github
$ cat id_rsa.pub #得到内容

关于 git 一些常用的命令

规则生效
代码语言:javascript复制
#Git忽略规则和.gitignore规则不生效的解决办法
$ git rm -r --cached . ## 推荐做法,然后 git commit ,git push
#git rm --cached 删除的是追踪状态,而不是物理文件;如果你真的是彻底不想要了,你也可以直接 rm


#常见做法
$ git update-index --assume-unchanged <PATH> #告诉git ,别管我,就算我改变了,你当没看见,切换分支失效
$ git update-index --no-assume-unchanged <PATH> #告诉git ,来呀,快活啊.我改动了,
$ git update-index --skip-worktree <PATH> #告诉git ,从今以后别鸟我了, 死活与你无关.
版本管理
代码语言:javascript复制
#保存密码到本地,这样就不需要每次同步代码需要密码了, (慎重使用)
$ git config credential.helper store
$ git config --global user.name "username" #设置用户名
$ git config --global user.email "email"  #设置用户邮箱

#创建远程分支
$ git checkout -b dev #新建本地分支
$ git push origin dev:dev #push到远程分支

#删除分支
$ git branch -D dev #删除本地分支
$ git push origin :dev #删除远程分支 ,push一个空到分支到远程分支上
$ git push origin --delete dev #删除远程分支

#切换分支
$ git branch -a #查看分支列表,看不到最新分支,执行git pull
$ git checkout -b dev origin/dev #把远程的分支搞到本地并切换
$ git checkout dev # 切换到dev

#放弃清理本地更改
$ git checkout . && git clean -xdf

#缓存区操作
$ git add <file> | git add -A  | git add . #加入到缓存区
$ git commit -m '功能开发完成' #添加注释
$ git reset HEAD <file>  #缓存区退回工作区,没有commit之前,已经git add
$ git checkout -- <file> | git checkout . #丢弃工作区修改,没有git add
版本退回
代码语言:javascript复制
$ git reflog #查看commit 版本
$ git reset --soft <版本号> #切回版本,本地代码不会变,只是改变版本号
$ git reset --hard <版本号> #切回版本,本地代码会改变,版本号也会变,慎用
$ git reset --soft HEAD~1  #已经add,并且commit,不想push,想切回来接着改,可以这么干,直接切回上一个版本
$ git reset --soft HEAD^ #同上, 注意,仅仅是撤回commit操作,您写的代码仍然保留。
$ git rm --cached <文件名> | git clean -xdf # 丢弃本地或者其他
$ git push origin <分支> --force #加上--force 覆盖远程分支,因为退回版本之后本地版本比线上版本低,无法提交

--mixed :意思是:不删除工作空间改动代码,撤销 commit,并且撤销 git add . 操作这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。 --soft:不删除工作空间改动代码,撤销 commit,不撤销 git add . --hard:>删除工作空间改动代码,撤销 commit,撤销 git add . 注意完成这个操作后,就恢复到了上一次的 commit 状态。

修改注释

如果 commit 注释写错了,只是想改一下注释,只需要:git commit --amend , 此时会进入默认 vim 编辑器,修改注释完毕后保存就好了。

Gerrit 相关使用
代码语言:javascript复制
# 拉代码
$ git pull
# 提交到master
$ git push origin HEAD:refs/for/master
# 提交到 dev-001
$ git push origin HEAD:refs/for/dev-001

gerritgit 有些区别,就是每次 push 代码必须跟上代码分支, 不然默认是提交到 master

0 人点赞