Git 新手使用入门全面详解

2229人浏览 2021-06-18

Github使用入门全面详解

Git的优势

  • 大部分操作都可在本地完成,无需联网
  • 完整性保证(hash操作)
  • 尽可能添加数据而不是删除/修改数据(版本迭代)
  • 快捷流畅的分支操作
  • 兼容linux操作命令

     git的安装请自行安装

 

命令行操作

  • 本地库操作

  1. 本地库初始化
git init

      2.设置签名

        格式:用户名和邮箱。

        作用:区分不同开发人员的身份。

        说明:这里和代码托管中心的用户名密码无关。

        

//设置当前项目用户名
git config user.name zhangsan
//设置全局用户名
git config --global user.name zhangsan

//设置当前项目邮箱
git config user.email zhangsan@qq.com
//设置全局用户邮箱
git config --global user.email zhangsan@qq.com

       3.查看代码状态

git status

       4.添加命令

git add test.txt
//取消添加
git rm --cached text.txt


//添加多个文件 用空格隔开
git add test1.txt test2.txt

//添加指定目录下的文件
//source目录下及子目录下所有文件,home目录下的所有.go文件
git source/*
git home/*.go

//添加所有的文件

git add .

      5.代码提交

git commit -m "注释说明"

git commit text.txt -m "提交代码"

     6.查看提交日志

git log

//优雅的展示日志
git log --pretty=oneline

//简介展示日志
git log --oneline

//多用于切换版本时使用
git reflog



//空格向下翻页。b 向上翻页 q 退出

       7.切换当前版本(回退/前进)

        用索引方式切换

        首先执行git reflog 查看当前HEAD 和索引信息

       切换到指定版本:

 git reset --hard 2a0b8d1

     使用^回退版本 只能回退

git reset --hard HEAD^

//后退多步. 3步
git reset --hard HEAD~3

     切换回最新版本 重置缓存区和工作区:

git reset --hard HEAD

   8.删除文件

//首先添加删除的文件
git add test.go

//提交删除
git commit -m "del file"

       9.比较操作       

//比较工作区和暂存区的文件
git diff main.go

//比较本地库历史记录
git diff HEAD main.go

//不指定文件名会比较所有文件

      10.添加忽略文件

       1).创建.gitignore

       2).修改文件,添加忽略正则

          

    # 以'#'开始的行,被视为注释.

    * ?:代表任意的一个字符
    * *:代表任意数目的字符
    * {!ab}:必须不是此类型
    * {ab,bb,cx}:代表ab,bb,cx中任一类型即可
    * [abc]:代表a,b,c中任一字符即可
    * [ ^abc]:代表必须不是a,b,c中任一字符

添加忽略之后,已经提交到版本库中的文件是无法忽略的。只能clone到本地,删除后,再进行忽略。.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。 git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件。 另外 git 还提供了另一种 exclude 的方式来做同样的事情,不同的是 .gitignore 这个文件本身会提交到版本库中去。用来保存的是公共的需要排除的文件。而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件。 他不会影响到其他人。也不会提交到版本库中去

     12.修改.gitignore使其立即生效

git rm -r --cached .  #清除缓存  
git add . #重新trace file  
git commit -m "update .gitignore" #提交和注释  
git push origin master #可选,如果需要同步到remote上的话  

    13.记住用户名密码

       cd到项目目录执行以下命令

git config --global credential.helper store

       执行后git pull 需要输入密码,下次即可记住密码

   14.git强制更新代码

//会以提交的代码为主,强制更新冲突的代码
git reset --hard

 

  • 分支管理

         1.查看所有分支

 git branch -v

         2.创建新的分支

git branch hot_fix

        3.切换到指定分支

git checkout hot_fix

        4.合并分支

        首先切换到需要被合并的分支

//后面指定需要合并的分支
git merge hot_fix

        5.删除分支

git push origin --delete <branchName>

        6.解决冲突

          冲突示例:

      修改完成后执行 git add filename  标记冲突已经解决

git add main.go

    此时冲突已解决但您仍处于合并中,执行

git commit -m "merge"

     备注:若在主分支解决冲突后,被切换的分支建议也合并一下主分支修改后的内容 。

  • 远程库管理

     1.推送地址  

//查看推送地址
git remote -v

//修改远程仓库地址
git remote set-url origin <remote-url>

//添加新地址
//git remote add [地址别名] [地址链接]
git remote add origin https://github.com/linkaias/testgit.git

//删除指定的远程仓库:
git remote rm origin



//推送地址
git push origin master 

//强制推送 以推送为主
git push origin master -f

//将远程仓库和本地仓库关联起来:
git branch --set-upstream-to=origin/master master

//使用git pull整合远程仓库和本地仓库. (忽略版本不同造成的影响)
git pull --allow-unrelated-histories    

    2.克隆远程仓库

git clone https://github.com/linkaias/testgit.git

 

 

简易的命令行入门教程:

Git 全局设置:

git config --global user.name "ddd";
git config --global user.email "qqq@163.com";

 

创建 git 仓库:

mkdir test
cd test
git init
touch README.md
git add README.md
git commit -m "first commit";
git remote add origin https://gitee.com/asaedit.git
git push -u origin master

 

已有仓库:

cd test
git remote add origin https://gitee.com/asdedit.git
git push -u origin master

 

 

 

推荐文章

Git常用操作,mac下添加修改. gitignore忽略文件后使其生效
2021-03-02
ACS:一站式API调用监控利器,便捷可视化,轻松掌握服务调用状态
2024-01-02
搜索文章