如何使用git管理代码

全局配置git

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

$ git config --global user.email"[email protected]"

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

[email protected] 一般是邮箱地址

创建本地仓库进行初始化

$ git init

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

克隆远程版本库

$ [email protected]: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管理代码)