Git常规操作

22 篇文章 1 订阅
5 篇文章 0 订阅

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

特点:

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

下图是经典的git开发过程。

Git常规操作

 

开发中常用git模式:

Git常规操作

 

Git的功能特性:

从一般开发者的角度来看,git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码pull/fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以 合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者 可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

优点:

适合分布式开发,强调个体。

公共服务器压力和数据量都不会太大。

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

缺点:

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

git clone +项目地址 (从远程clone项目)

首次提交项目到git:

  1. git global setup:(指定用户名跟邮箱)

git config --global user.name "*"

git config --global user.email "*"

git init

git add -A

git commit -m "first commit"

git remote add origin https://github.com/lizhangfeng/SpinnerDemo.git git push -u origin master

提交代码流程:

1,首先要git add -A 即把本地所有有改动的文件添加到列表

2,git commit -m 提交到本地仓库

3,git pull 从远程仓库下拉代码,如果有冲突解决冲突,没有冲突的话重新git add -A git commit -m

4,提交本地代码到远程仓库:git push origin master(主分支)

Git常用命令

添加记录:git add file 或 git add -A

添加描述:git commit -m "描述内容"

克隆项目:git clone "项目地址"

同步数据:git pull (拉取服务器最新代码)

提交到远程仓库:git push origin master

查看本地日志:git log

查看master提交日志:git log origin/master

切换分支:git checkout name

撤销修改:git checkout -- file

删除文件:git rm file

查看状态:git status

回滚操作:git reset --hard 要回滚的记录(git log看的)

提交数据:git push origin name

克隆远程分支:git checkout -b test origin/test 或者 git checkout -t origin/test(-t默认创建跟本地一样名字的分支) 还可以git fetch origin test:test 本地分支的名字最好跟远程分支保持一致

分支操作

查看本地分支:git branch

查看远程分支:git branch -r

查看本地和远程分支:git branch -a

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

删除远程分支:git push origin :name

从远程分支创建本地分支:git branch –b 分支名 origin/分支名

git打tag

git tag 标签名字

git push origin --tags

.gitignore文件为git忽略文件

windows下如何获取github ssh 公钥

1. 安装git,从程序目录打开 "Git Bash"

2. 键入命令:ssh-keygen -t rsa -C "email@email.com"

"email@email.com"是github账号

敲三次回车键

3. 提醒你输入key的名称,输入如id_rsa

4. 在C:\Documents and Settings\Administrator\下产生两个文件:id_rsa和id_rsa.pub

5. 把4中生成的密钥文件复制到C:\Documents and Settings\Administrator\.ssh\ 目 录下。

6. 用记事本打开id_rsa.pub文件,复制内容,在github.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚才复制的内容。

如何用命令将本地项目上传到git

1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库

git init

2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件

git add .

3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明

git commit -m 'first commit'

4、关联到远程库

git remote add origin 你的远程库地址

如:

git remote add origin https://github.com/cade8800/ionic-demo.git

如果上面步骤写错了:则

git remote rm origin //删除origin

git remote add origin git@
git.oschina.net:yourname/demo.git //重新添加origin

5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)

git pull --rebase origin master

6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。

git push -u origin master

*、状态查询命令

git status

如果出现类似下面内容:

Username for 'https://github.com': shiren1118

Password for 'https://shiren1118@github.com':

To https://github.com/shiren1118/iOS_code_agile.git

![rejected] master -> master(non-fast-forward)

error: failed to push some refs to'https://github.com/shiren1118/iOS_code_agile.git'

hint: Updates were rejected because the tip of yourcurrent branch is behind

hint: its remote counterpart. Merge the remote changes(e.g. 'git pull')

hint: before pushing again.

hint: See the 'Note about fast-forwards' in 'git push--help' for details.

则输入命令:git push -u origin master -f 即可搞定问题

Git常规操作

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

休以希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值