git touch不是内部_Git本地仓库以及远程仓库的操作和配置

首先需要进行git六行配置

git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default simple
git config --global core.quotepath false
git config --global core.editor "code --wait"
git config --global core.autocrlf input

配置好之后可以通过以下代码查看配置

git config -l

初始化创建本地仓库

git init

输入git init会创建.git目录,用作本地仓库,本地仓库主要是用来作为代码版本管理,可以方便的记录和查看不同版本的代码,大致原理如下图所示

e39ac1039a1cf370b03d7a2dab56e146.png

操作指令

git add 路径

选中哪些变动是需要提交的,路径可以是绝对路径,相对路径和“ . ”," * "

可以创建.gitignore文件,在文件中添加描述,描述哪些变动是不需要提交的,常见的有node_modules,.DS_Store,.idea,.vscode

git status

查询提交文件

git commit -m 字符串

提交,并说明理由,字符串里如果有空格,就要用引号包起来

git commit -v

-v = --verbose,可以帮忙回顾改了什么东西,可以迫使自己把提交理由写的更详细一些

git reset --hard XXXXXX

XXXXXX是提交号的前6位,操作前先确保代码已经commit,因为这个操作会使未commit的改动消失

git log

查看提交版本记录,如有版本1,2,3,从3回滚到1,则查看不了版本2,3

git reflog

查看所以提交变动过的版本记录

git branch x          创建分支
git checkout x        切换到分支X
git checkout master   切换回主分支
git branch -d x       删除分支

关于分支的操作

下图是关于git分支原理示意图

6c114dc9526b0ab57f20c53451749e71.png

合并分支

首先 git checkout master 回到主分支,然后 git merge x 合并分支,合并分支后可能会出现冲突。关于冲突:

发现冲突:

  • 在合并分支时,会得到 conglict 提示
  • 使用 git status -sb 查看哪个文件冲突了

解决冲突:

  • 依次打开冲突的文件
  • 搜索====四个等于号,找到冲突的位置
  • 在上下部分中选择要保留的代码
  • 删除不需要的代码
  • git add 对应文件
  • 再次 git status -sb ,解决下一个文件的冲突
  • 知道没有冲突,运行 git commit 提交代码

一些细节:

git add 处理的是文件变化,而不是文件,比如你删除一个文件后,依然要用 git add 来添加到待提交去。

主要使用 git add. 和 git commit -v 即可,其他命令很少使用。



git远程仓库

首先需要 SSH key 验证身份

生成 ssh key 步骤

  • 运行 ssh -keygen-t rsa -b 4096 -C 你的邮箱
  • 然后一直回车,知道没有提示
  • cat ~/.ssh/id_ras.pub 得到公钥内容,粘贴到Github
  • 打开Github,在设置界面填入公钥

如何测试配对成功

  • ssh-T git@github.com
  • 如果问你 yes/no,回答yes并回车

上传代码

完成上诉操作就可以上传代码了

  1. 新建Github Repo(远程仓库),复制其ssh地址
  2. 复制页面里面的代码,输入git remote add origin git@xxxxxxxxxx
  3. 在本地添加远程仓库地址(origin是远程仓库的默认名字,可以换,建议不要换,不要使用https://地址,因为每次都需要换密码)
git push -u origin master

推送本地master分支到远程 origin 的 master 分支

如果提示你应该 git pull ,就 git pull一下

git pull 是先把远程分支合并到本地对应的分支

如果远程分支没有更新过,才可以省略 git pull

-u origin master 的意思是设置上游分支

之后就不用再设置上游分支了,直接 git pull;fit push;

如何上传其他分支

方法一: git push origin x:x

方法二: git checkout x

git push -u origin x

下载别人的代码

如何下载代码

  • git clone git@xxxxxx[目标路径]
  • 如果是不同机器,要写上传新的 ssh key (一机一key)
  • cd目标路径
  • 然后就可以git add/git commit/[git pull]/git push 四连操作

如何下载某个分支

  • 先下载整个仓库,然后git checkout分支名
  • 或者自己去搜一些难记的命令
git clone git@?/xxx.git
  • 会在当前目录下创建一个xxx目录
  • xxx/.git 是本地仓库
  • 一般你需要接一句 cd xxx
git clone git@?/xxx.git yyy
  • 会在本地新建yyy目录
  • git clone git@?/xxx.git .
  • 最后一个字符是点,注意空格
  • 不会新建目录,使用当前目录容纳代码和 .git
  • 当前目录一开始最好是个空目录

可以上传到两个远程仓库吗

只需要两句话

git remote add repo2 git @xxxxxx
git push -u repo2 master

如果提示 git pull

  • 说明新建项目时创建了一些文件
  • 只需要运行 git pull 之后再运行刚才的命令

国内Github的代替品

  • http://coding.net (腾讯战略投资)
  • gitlab.com
  • 码云 gitee.com (开源中国)
  • 还是推荐 Github,因为大牛多

Git高级操作

使用bash alias简化命令(gst/ga/gc/gl/gp)

运行以下命令即可

touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc

然后重启命令行,或者运行source ~/.bashrc就可以使用了

美化 gitlog

code 编辑 ~/.bashrc中加入

alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less"

git rebase -i xxxx 美化历史命令

隐藏恢复文件

git stash 隐藏代码
git stash pop 恢复代码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值