如何使用git管理代码

全局配置git

$ git config --global user.name"username"

$ git config --global user.email"email@you.com"

username 一般代表提交的本机用户名

email@you.com 一般是邮箱地址

创建本地仓库进行初始化

$ git init

执行完成之后在本地创建一个 .git 的隐藏文件夹包含git的信息在里面

克隆远程版本库

$ gitclonegit@github.com:sunyazhou13/sunyazhou13.github.io.git

查看当前代码库状况

$ git status

git status 命令会显示当前代码库的状况,包括添加,修改(modified),删除(deleted)

版本管理

指向git当前最新版本为HEAD,HEAD^表示上一版本,HEAD^^上上一个版本,HEAD~100表示往上100个版本

添加本地修改代码

//添加当前目录的所有修改

$ git add .

//如果需要添加指定文件可以这样

$ git add A B C // 中间用空格隔开

//如果有些文件标红 代表未纳入git 管理 可以 rm -rf xxx删除该文件

//如果有些文件标黄 代表有修改

//如果有些文件标绿 代表有文件已经纳入 git 管理

提交

$ git commit -am"[产品名称][迭代名称] 1.修改点 2.修改点xxx"

push到git代码仓库

$ git push origin HEAD:refs/for/master

如果是第一次提交 使用 git push -u origin master

push 的时候进行代码追踪

$ git push --set-upstream origin + 分支名

如果提交被废弃

$ git fetch origin master

$ git reset --soft origin/master

$ git add .

$ git commit -m"some comments"

$ git push origin HEAD:refs/for/master

回到本地代码库库中,执行

分支管理

创建分支并切换过去

$ git branch -b 分支名

切换分支

$ git checkout 分支名

查看远程分支 git branch -r r 代表remote

合并分支

$ git merge br-name将br-name分支合并到当前分支下

加入--no-ff则表示禁用Fast forward模式。即新建commit而不是切换HEAD指针来实现

$ git merge --no-ff -m "merge with no-ff" dev

合并分支前可以通过git diff 来查看两者不同

合并冲突

merge分支时,如果两分支对同一地方做了不同的修改,则为冲突,冲突的文件git会生成如下内容

<<<<<<< HEAD

Creating a new branch is quick & simple.

=======

Creating a new branch is quick AND simple.

>>>>>>> feature1

解决完冲突 合并之后 记得执行

$ git rebase --continue

强制更新 tag 到指定的 commit

git tag --force v1.0.0 bc63359

git push --tags -f

git ll 可以看到短版本号,如果不好使 请执行如下脚本然后重试

下面是常用的 git 别名

git config --global alias.ll"log --graph --all --pretty=format:'%Cred%h %Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

git config --global alias.co checkout

git config --global alias.br branch

git config --global alias.ci commit

git config --global alias.st status

git config --global alias.last'log -1 HEAD'

git config --global alias.df diff

git config --global alias.co checkout

详细资料参考

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:776598941,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

文章来源于网络,如有侵权,请联系小编删除!

全文完

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 12,741评论 1 26
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,016评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,358评论 0 11
  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj阅读 7,770评论 1 11
  • 欢乐颂热播,看着剧情的波澜起伏考验22楼五美的友情,人们感悟:曾经我们都是邱莹莹,慢慢变成了关雎尔,想活成安迪的模...
    我叫瑶瑶好多年阅读 2,166评论 0 1