使用git教程-一篇就够了

使用git管理项目是开发人员必备的技能,下面就介绍如何使用git将本地文件管理并且同步到github上面。
小白可以参考

【将本地文件git到远程github仓库】

在这里插入图片描述

创建SSH-key并且在github中添加认证

在这里插入图片描述
在本地用户的.ssh文件下面生成:
在这里插入图片描述
在github的setting中进行绑定:
在这里插入图片描述
验证时候绑定成功!
在这里插入图片描述

在gitee、bitbucket等git管理的代码托管上面的操作与上类似;
在这里插入图片描述
在这里插入图片描述

将本地仓库与远程github中的仓库关联

  要关联一个远程库,使用命令

git remote add origin   git@server-name:path/repo-name.git

git remote add origin   git@github.com:gqzdev/vue-start.git 

在这里插入图片描述

  关联后,使用命令
  第一次推送master分支的所有内容;

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
在这里插入图片描述
  此后,每次本地提交后,只要有必要,就可以使用命令

#推送最新修改;
git push origin master

  分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

删除本地文件后,想从远程仓库中重新Pull最新版文件。

Git提示:up-to-date,但未得到删除的文件

原因:当前本地库处于另一个分支中,需将本分支Head重置至master.

git checkout master 
git reset --hard

git 强行pull并覆盖本地文件

git fetch --all  
git reset --hard origin/master 
git pull

参考资料
1.Why does Git say my master branch is “already up to date” even though it is not?
2. why-does-git-say-my-master-branch-is-already-up-to-date-even-though-it-is-not

其他git命令

在这里插入图片描述

1)git help <command> # 显示command的help

2)git show # 显示某次提交的内容 git show $id

3)git co -- <file> # 抛弃工作区修改

4)git co . # 抛弃工作区修改

5)git add <file> # 将工作文件修改提交到本地暂存区

6)git add . # 将所有修改过的工作文件提交暂存区

7)git rm <file> # 从版本库中删除文件

8)git rm <file> --cached # 从版本库中删除文件,但不删除文件

9)git reset <file> # 从暂存区恢复到工作文件

10)git reset -- . # 从暂存区恢复到工作文件

11)git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

12)git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做                                    git ci -am "some comments"

13)git ci --amend # 修改最后一次提交记录

14)git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象

15)git revert HEAD # 恢复最后一次提交的状态

16)git diff <file> # 比较当前文件和暂存区文件差异 git diff

17)git diff <id1><id1><id2> # 比较两次提交之间的差异

18)git diff <branch1>..<branch2> # 在两个分支之间比较

19)git diff --staged # 比较暂存区和版本库差异

20)git diff --stat # 仅仅比较统计信息

21)git log git log <file> # 查看该文件每次提交记录

22)git log -p <file> # 查看每次详细修改内容的diff

23)git log -p -2 # 查看最近两次详细修改内容的diff

24)git log --stat #查看提交统计信息

25)git br -r # 查看远程分支

26)git br <new_branch> # 创建新的分支

27)git br -v # 查看各个分支最后提交信息

28)git br --merged # 查看已经被合并到当前分支的分支

29)git br --no-merged # 查看尚未被合并到当前分支的分支

30)git co <branch> # 切换到某个分支

31)git co -b <new_branch> # 创建新的分支,并且切换过去

32)git co -b <new_branch> <branch> # 基于branch创建新的new_branch

33)git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除

34)git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支

35)git br -d <branch> # 删除某个分支

36)git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)

37)git merge <branch> # 将branch分支合并到当前分支

38)git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交

39)git diff > ../sync.patch # 生成补丁

40)git apply ../sync.patch # 打补丁

41)git apply --check ../sync.patch #测试补丁能否成功

42)git stash # 暂存

43)git stash list # 列出所有stash

44)git stash apply # 恢复暂存的内容

45)git stash drop # 删除暂存区

46)git pull # 抓取远程仓库所有分支更新并合并到本地

47)git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并

48)git fetch origin # 抓取远程仓库更新

49)git merge origin/master # 将远程主分支合并到本地当前分支

50)git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支

51)git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上

52)git push # push所有分支

53)git push origin master # 将本地主分支推到远程主分支

54)git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)

55)git push origin <local_branch> # 创建远程分支, origin是远程仓库名

56)git push origin <local_branch>:<remote_branch> # 创建远程分支

57)git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支

58)git remote -v # 查看远程服务器地址和仓库名称

59)git remote show origin # 查看远程服务器仓库状态

60)git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址

61)git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库

62)git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库

63)scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上

64)mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库

65)git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址

66) git push -u origin master # 客户端首次提交

67) git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track

68) git remote set-head origin master # 设置远程仓库的HEAD指向master分支

其他教程

瘳雪峰-Git教程

Git命令小记

Git常用命令

Git-book

Git参考手册
http://livoras.com/post/28
使用git和github进行协同开发流程
https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.md
github秘籍
http://onlywei.github.io/explain-git-with-d3/
https://github.com/onlywei/explain-git-with-d3
动画方式练习git
http://www.cnblogs.com/rubylouvre/archive/2013/01/24/2874694.html
如何在github上fork一个项目来贡献代码以及同步原作者的修改
https://github.com/phodal/github-roam
GitHub 漫游指南

http://blog.chinaunix.net/uid-26495963-id-3367377.html
github readme.md 添加图片

http://www.imooc.com/learn/390
版本控制入门 – 搬进 Github
http://www.imooc.com/learn/208
版本管理工具介绍—Git篇
http://m.nowcoder.com/courses/2
GitHub&Git入门基础

http://f2e.im/t/7
http://htmlpreview.github.com/
github 在线预览

https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc/related
github插件

http://www.jefftk.com/icdiff
一个能并列高亮显示文件比较结果的小工具

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值