git 入门与实践

【初始设置:】

        [设置姓名:] git config  --global user.name "ajing"

        [设置邮箱地址:] git config  --global user.email  "abc370617@163.com"

        [提高命令可读性:] git config  --global color.ui auto

        [查看你刚刚设置的三项内容:] vi  ~/.gitconfig      //也可以直接在这个文件里编辑姓名邮箱和可读性设置。

 

【设置SSH Key:】

        [创建SSH Key:] ssh-keygen  -t  rsa  -C   "abc370617@163.com"      //然后回车,输入密码,和确认密码。邮箱使用创建账户时的邮箱地址。密码需要在认证时使用。运行完后会生成id_rsa私钥和id_rsa.pub公钥。

         [添加公开密钥:] 点击GitHub账户设定按钮选择settings ,左侧列表选择SSH and GPG keys选项,new ssh key,在title输入适当的密钥名称,key部分黏贴id_rsa.pub文件里的内容,查看id_rsa.pub文件内容命令为:cat ~/.ssh/id_rsa.pub。

         [使用私人密钥与GitHub进行认证通信:] ssh  -T  git@github.com    //回车后输入创建ssh key 时设置的密码。

【创建仓库:】

        [点击new repository] 输入仓库名,描述内容,选择public(privite收费),

        [勾选“Initialize this repository with a README”] 会自动初始化仓库并设置readme文件让用户可以自动clone这个仓库(如果想向GitHub添加手中已有git仓库建议不要勾选,直接手动push),

        [点击add .gitignore下拉] 选择你要使用的框架语言java,

        [点击add license]  GNU GPLv3 注重分享修改,Apache注重专利, MIT License 简单

        [最后create repository]

【连接仓库:】URL里第一个abc370617为用户名,第二个为仓库名

        [http格式仓库URL:]https://github.com/abc370617/abc370617.git   

        [ssh格式仓库URL:] git@github.com:abc370617/abc370617.git

【公开代码:】

        [clone已有仓库:] git  clone  git@github.com:abc370617/abc370617.git

        [新建文件编写代码] 克隆完后新建一个文件hello编写代码(命令:vi  hello )。因为还没有添加新建文件至git仓库,git status命令查看显示状态为untracked file

        [提交新建文件:] 先 输入git add hello 命令将文件加入暂存区 ,再输入git commit  -m  "add new file to " 命令提交(该命令是记录工作树中所有文件的当前状态)。输入git log命令查看提交日志。

        [push文件:]  输入命令:git  push。只要执行push,GitHub上的仓库就会被更新。

【基本操作:】

          [git  init:] 初始化仓库生成.git文件(隐藏看不见。可以ls -a命令查看)。这个目录存储着管理当前目录内容所需要的仓库数据,被称为工作树。文件编辑操作在工作树中进行然后记录到仓库中,以此管理文件快照。如果想将文件恢复原先状态,可以再仓库中调取之前快照,在工作树中打开。

          [git  status:]显示git仓库状态。

          [git  add:]向暂存区中添加文件,使文件成为git仓库的管理对象。如果不添加它就会显示在untracked files里。

          [git commit:]将暂存区中的文件保存的仓库的历史记录中。通过这些记录我们可以再工作树中复原文件。

          [git commit -am "注释":] 这个命令是git add 与git commit的合并。

          [git log:] 查看提交日志。后面加上--pretty=short 会让程序只显示第一行简述信息。只显示指定目录文件的日志在命令后面添加目录名或者文件名。

          [git log -p:] 显示提交所带来的改动。只查看指定文件目录改动 在命令后加文件目录名。

          [git diff  HEAD:] 查看工作树,暂存区,最新提交之间的差别。"+"表示新添加的行,“-”表示被删除的行。HEAD表示当前分支中最新一次提交的指针。

【分支操作:】

          [git branch:] 显示所有分支。*表示当前所在分支。 命令后面跟-a 显示所有分支。

          [git checkout -b  分支名:] 创建并切换到新创建的本地分支上。也可以分两步走:创建分支:git branch  分支名;

          [git checkout 分支名:]切换到某分支上。然后在当前分支上修改代码,git add和git commit 后,当前分支就被修改,再切换到主分支master上查看分支上修改的文件会发现master上并没有被修改。

          [git push -u origin 分支名:]将上一步创建的本地分支推送到远程仓库上,远程仓库就会多一个本地分支同名的远程分支。第一次push创建远程分支要加上-u origin 分支名,这样以后做修改提交时直接git  push 命令就行,‘-u origin 分支名’命令就不需要每次都加了。

          [git checkout  -  :] 切换回上一个分支。

          [git merge  --no-ff  分支名:]将分支合并到主分支上,做这一步的前提是要先切换到主分支上再操作。

          [git log  --graph:] 以图表的形式查看分支。 

【更改提交的操作:】      

          [git reset  --hard  哈希时间点:] 回退历史版本。  

          [git reflog:] 查看当前仓库日志。 

          [git merge --no-ff  分支名:]   主分支融合其他分支出现冲突的话,要解决冲突,解决完然后执行git add与 git commit 命令。

         [git commit -amend:] 修改上一条提交信息。

         [git rebase -i HEAD~2:]将有错误拼写等修改包含在前一个提交中压缩成一个历史纪录。执行这个命令后将需要压缩的记录前面的pick改为fixup即可。

【仓库的维护:】一般情况下 master 分支都会获取最新代码,很少需要 Fork 的开发者亲自进行修正。

            [git clone  git@github.com:abc370617/abc370617.git:] 在 GitHub 上进行 Fork原仓库,然后clone。

            [git remote add upstream git@github.com:abc370617/abc370617.git:] 给原仓库设置 upstream 的名称,将其作为远程仓库。

            [git fetch upstream:]从远程仓库实际获取(fetch)最新源代码,与自己仓库的分支进行合并。要让仓库维持最新状态,只需要重复这一工作即可。













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值