Git命令行操作

git结构:工作区-->git add-->暂存区-->git commit-->本地库

1.本地库初始化

  • mkdir :创建目录当做git库的根目录
  • git init:初始化代码库

 

  • 不要手欠乱动这些目录

2.设置签名

  • 设置本地库用户名和email,用来区分不同开发人员的身份.这里设置的信息与远程库账号密码无关。
  • 项目级别/仓库级别:仅在当前本地库范围内有效
    • git config user.name 用户名
    • git config user.email 邮箱
    • 信息保存在库目录/.git/config配置文件中
  • 系统用户级别:当前系统用户范围,通常我们使用这个级别  
    • git config --global user.name 用户名
    • git config --global user.email 邮箱
    • 信息保存位置:~/.gitconfig文件里
  • 备注
    • 项目/库权限优先于系统权限
    • 如果只有系统用户级别的签名,就以系统级别签名为准
    • 二者都没有是不允许的

3.基本操作

  • 查看状态
    • git status  :  查看工作区、暂存区的文件状态
  • 添加操作
    • git add [file name]  :  将文件添加到暂存区
    • git checkout --[file name]  :  撤销修改
  • 提交操作
    • git commit [file name]  :  提交前进入vim编辑器进行注解。vim【:set nu】显示行号【:wq】保存并退出。
    • git commit -m  "commit massage" [file name]  :  在命令行进行注解,不在进入vim编辑器.
    •  
  • 查看历史版本
    • git log  :  显示所有版本的详细信息。上翻页:空格 下翻页:B键 退出:Q键
    • git log --pretty=oneline  :  显示长id和注解
    • git log --oneline  :  显示短id和注解
    • git reflog  :  显示短id、HEAD和注解。通常情况下我们使用这个就可以了
  • 版本前后移动
    • git reset --hard <id号>  :  推荐使用这种形式
    • git reset --hard HEAD^  :  向后移动一个版本,这里的^可以有多个,有n个^表示向后移动n个版本。
    • git reset --hard HEAD~[index]  :  ~后的数字是几就向后退回几个版本
    • 备注:以上命令除了--hard还有--soft和--mixed参数,--soft仅仅在本地库移动HEAD指针。--mixed在本地库移动HEAD指针并重置暂存区。--hard在本地移动HEAD指针,并重置暂存区和工作区。
  • 删除文件
    • rm <文件>  :  删除指定文件,并执行 git add 和git commit 进行彻底删除,不过我们可以从历史版本中找回文件。
  • 文件比较
    • git diff <文件>  :  将工作区与暂存区中的文件进行比较,不填文件参数时可与多个文件进行比较
    • git diff HEAD^ <文件>  :  将工作区文件与本地库历史记录比较
  • 分支
    • git branch -v  :  查看当前分支
    • git branch <分支名>  :  创建新分支
    • git checkout <分支名>  :  选择指定分支
    • git commit -m "注解" branch <分支名> <文件>  :  向指定分支提交文件
  • 合并分支
    • git checkout <A分支>  :  将B分支合并到A分支,需要先切换到A分支,在进行后续操作。
    • git merge <B分支>  :  将B分支合并到A分支
  • 解决冲突
    • 当文件出现冲突时,
    • 这时我们需要完成一下几个步骤,来解决文件冲突。
    1. 与同事沟通达成一致意见后,编辑文件将特殊字符删除
    2. git add 文件
    3. git commit -m "注解"  注意这里提交时不能加文件名

4.远程库操作

  • github创建远程库
    • 注册并登陆https://github.com
    • 选择new repository
    • 在页面中填入自定义库名,其他选项根据自己需求选择。
  • 远程库本地别名化
    • 对远程库操作时每次都粘贴远程地址比较麻烦,我们可以将远程地址在本地进行别名化。
    • git remote -v  :  查看现有别名
    • git remote add <别名>  <git远程库地址 >  : 在本地创建远程库别名
  • 推送到远程库
    • git push <远程库地址> <分支>  :<远程库地址>可用远程库别名代替
    • 系统会提示输入账号
  • 下载克隆  :我们假设当前在B用户机器上
    • git clone <远程库地址>
    • 下载前先准备好当做本地库的目录
    • 下载时git已帮我们初始化了本地库
    • 下载的克隆包括完整代码和别名等....
    • 目前可以对本地库进行操作,但不能推送到远程库。如果要推送到远程库,需要将B用户邀请到团队。
  • 邀请队友加入团队
    • 登录github找到仓库里的settings-->Collaborators-->Add collaborator-->赋值邀请的连接发送给被邀请人,被邀请人用自己的账号访问连接,点击接受即可。这样被邀请人就可以将文件推送到远程库了。
    • 如果要在推送时更换登录账号(Win10系统下)打开凭据管理器将github账号删除,再次推送时就可以输入其他账号了
  • 拉取
    • pull=fetch+merge
    • git fetch <远程库> <远程分支>  :  将远程库分支下载到本地,不做其他处理。
    • git merge <远程库/远程分支>  :  将远程库分支和并到当前分支
    • git full <远程库> <远程分支>  :  下载远程库分支并合并到当前分支
  • 远程库冲突
    • pull到本地,处理方法与本地冲突相同
  • 远程协作
    • ...远程协作基本都在github页进行这里暂不做说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值