Git入门,看过来

闲来无事,总结下git的常用操作,供大家参考。

 

安装

创建新仓库

git init

克隆仓库

  • 创建一个本地仓库的克隆版本:

    git clone /path/to/repository

  • 克隆远程仓库:

    git clone username@host:/path/to/repository

配置

设置用户名

git config user.name xxxxx

PS:全局配置加上–global

设置邮箱

git config user.email xxx@xxx.com

设置记住用户密码

git config --global credential.helper store

工作流程

  1. 工作目录:持有实际文件
  2. 缓存区(Index):临时保存改动
  3. HEAD:指向你最近一次提交后的结果

 

git work

添加与提交

  1. 添加改动至缓存区:

    git add <filename> or git add *

  2. 提交至HEAD:

    git commit -m "代码提交信息"

推送改动

推送到远程仓库:

git push origin master

分支

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。

 

git branch

创建dev分支并且换:

git checkout -b dev

从远程分支迁出至本地

git checkout -b <local-branch-name> origin/<remote-branch-name>

切换回master:

git checkout master

删除dev分支:

git branch -d dev

推送至远程分支:

git push origin <branchname>

删除远程分支:

git push origin :<branchname>

更新与合并

从远程master更新本地仓库:

git pull origin master

合并分支至当前分支:

git merge [options] <branchname>

标签

创建注释标签:

git tag -a <tagname> -m "my tag"

提交tag至远程:

git push origin <tagname>

删除tag:

git tag -d <tagname>

删除远程tag:

git push origin :refs/tags/<tagname>

替换本地改动

使用HEAD中的最新内容替换掉你的工作目录中的文件:

git checkout -- <filename>

丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它:

git fetch origin and git reset --hard origin/master

一些参考资源

### 关于Git入门之冲突处理 当多人协作开发项目时,可能会遇到不同开发者在同一文件的不同位置甚至相同位置进行了修改的情况。此时,在尝试合并这些更改时,Git 可能无法自动完成这一过程并报告冲突。对于这种情况下的处理方法如下: 如果出现了`Automatic merge failed; fix conflicts and then commit the result.`这样的消息[^3],这表明存在未解决的冲突。这时需要打开发生冲突的文件来查看具体的差异部分。通常,Git会在有争议的地方标记出两个版本之间的区别,形式如下所示: ```diff <<<<<<< HEAD // 当前分支上的内容 ======= // 即将被合并过来的内容 >>>>>>> branch-name ``` 针对上述情况,应该仔细对比两部分内容,并决定保留哪一部分或是如何融合两者。编辑完成后删除所有的分隔符(`<<<<<<<`, `=======`, 和 `>>>>>>>`)以及不需要的部分。 最后再次运行`git add <file>`命令以告知Git已经解决了该文件内的所有冲突,之后再执行一次`git commit`即可完成整个合并操作。 ### 忽略文件设置指南 有时候并不希望某些类型的文件(比如编译后的二进制文件、临时缓存数据等)进入版本库中跟踪管理。为此可以在项目的根目录下创建名为`.gitignore`的特殊配置文件,里面列出想要排除在外的路径模式列表。每一行代表一条规则,支持通配符匹配语法;例如: - 使用星号(*)表示任意数量字符; - 斜杠(/)用于区分绝对路径与相对路径; - 注释可通过井号(#)实现。 下面是一个简单的.gitignore实例: ```plaintext # 编辑器备份文件 *.swp *~ # 构建产物 /build/ /dist/ # 日志文件夹 logs/ ``` 通过这种方式定义好哪些资源不应该纳入版本控制后,即使不小心加入了也不必担心会被提交出去影响团队其他成员的工作环境一致性[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值