码迷,mamicode.com
首页 > 其他好文 > 详细

Git 操作记录

时间:2020-01-07 19:59:17      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:查看   and   track   ali   rip   pre   命令   账号密码   指令   


参考:
https://www.cnblogs.com/simple1368/p/9084077.html

git 服务器新建仓库

git init --bare 仓库名.git

[git@localhost git]$ git init --bare hugin.git
Initialized empty Git repository in /home/git/git/hugin.git/
[git@localhost git]$ ls
hugin.git
[git@localhost git]$ pwd
/home/git/git

本地同步 git 服务器仓库

Z17023031@ZHS-W54001050 MINGW64 /e/code/SVN/Hugin/L11RackMonitor/trunk/sourcecode (master)
$ pwd
/e/code/SVN/Hugin/L11RackMonitor/trunk/sourcecode

1、 将本地目录变为 git 本地仓库

git init

$ git init
Initialized empty Git repository in E:/code/SVN/Hugin/L11RackMonitor/trunk/sourcecode/.git/

$ ls
hugin/
  • 设置忽略文件 .gitignore
$ touch .gitignore

$ ls
hugin/

2、 查看仓库文件状态

Z17023031@ZHS-W54001050 MINGW64 /e/code/SVN/Hugin/L11RackMonitor/trunk/sourcecode (master)
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore
        hugin/

nothing added to commit but untracked files present (use "git add" to track)

3、 追踪除了忽略文件以外所有文件

Z17023031@ZHS-W54001050 MINGW64 /e/code/SVN/Hugin/L11RackMonitor/trunk/sourcecode (master)
$ git add .

4、 将文件提交到本地仓库 (本地仓库可多次提交

git commit -m ‘提交信息‘

git commit -m 'first commit'

git commit -m ‘first commit. Base on server code‘

5、 关联远程 git 仓库

git remote add origin 远程库地址(用户@IP:git仓库目录路径)

$ git remote add origin git@10.41.95.207:/home/git/git/hugin.git

$ git remote add origin git@10.41.95.207:/home/git/git/tracking_management.git

6、 将本地 git 仓库改动全部同步到远程 git 仓库

第一次p ush 的时候,加上 -u 参数,
Git 就会把本地的 master 分支和远程的 master 分支进行关联起来, 我们以后的 push 操作就不再需要加上 -u 参数了

$ git push -u origin master
git@10.41.95.207's password:
Enumerating objects: 764, done.
Counting objects: 100% (764/764), done.
Delta compression using up to 8 threads
Compressing objects: 100% (735/735), done.
Writing objects: 100% (764/764), 2.71 MiB | 5.61 MiB/s, done.
Total 764 (delta 80), reused 0 (delta 0)
To 10.41.95.207:/home/git/git/hugin.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

注意:若远程 git 仓库为空,可直接做这一步

若远程 git 仓库不为空

7、远程库与本地同步合并

git pull --rebase origin master

8、克隆远程仓库内容

同步了远程之后想看看最新的内容有没有在上面,于是我在 git 远程仓库所在的服务器上的另一个目录进行克隆

[hugin@localhost test1]$ git clone git@127.0.0.1:/home/git/git/hugin.git
Cloning into 'hugin'...
git@127.0.0.1's password:
remote: Counting objects: 764, done.
remote: Compressing objects: 100% (655/655), done.
remote: Total 764 (delta 80), reused 764 (delta 80)
Receiving objects: 100% (764/764), 2.71 MiB | 0 bytes/s, done.
Resolving deltas: 100% (80/80), done.
[hugin@localhost test1]$ ls
hugin

git clone git@10.41.95.207:/home/git/git/tracking_management.git

看了一下目录的内容,有成功同步

可以看到远程克隆的时候要输 git 用户密码,用来专门控制克隆权限。
所以一开始就要新建 git 用户专门用于控制远程 code 文件

提交本地修改

1、本地提交

git push -u origin master

2、异地更新

git pull

---------------------------------

B 站

本地库 and 远程库

忘记了可以直接看教程

  • 本地库:自己电脑上的仓库(用于个人开发)
  • 远程库:服务器上的仓库(用于部门内部团队协作开发)

技术图片

当然,远程库与远程库之间可以进行 跨部门/跨公司 的协作开发

技术图片

设置签名 config

忘记了可以直接看教程

技术图片

查看历史记录 log

技术图片

版本切换 reset

先打错所有版本信息:

git reflog

技术图片

  • 前面的黄色部分数字表示这个历史版本的==索引值==
  • ==HEAD== 指针指向当前远程仓库中的 master 分支所在的版本

当我们想要回到某一个历史版本的时候,使用下面指令:

git reset --hard 版本索引值

reset 回到历史版本指令有3个不同的参数:
--hard-soft--mixed

3者的区别为

技术图片

注意上面的概念里面:

  • 本地库 :git 本地仓库(注意不是远程仓库 git本地不但有暂存区还有本地仓库)
  • 暂存区 :本地追踪文件区
  • 工作区 :就是我们电脑上的文件夹

比较版本差异 diff

忘记了可以点进去看讲解

用 diff 指令:

git diff [filename]

技术图片

分支 branch

查看当前所有分支

查看当前所有分支,并显示当前所在的分支(==绿色的==)

git branch -v

技术图片

新建分支

git branch [分支名]

技术图片

切换分支

git checkout [分支名]

技术图片

合并分支

切换到接受合并的分支上面:

git merge [其他的分支]

技术图片

技术图片

解决合并冲突

忘记了可以点进去看讲解

技术图片

技术图片

仓库别名 remote

使用 remote 指令建立本地与远程git仓库的映射关系,下次对远程仓库进行操作时直接 ==用别名代替远程仓库名==

查看当前有的别名

git remote -v

新增别名

git remote add [自己定的别名] [远程git仓库地址]

技术图片

克隆 clone

技术图片

推送到远程仓库 push

注意很重要的一点:

==你要往远程仓库里面推送,一定要在你的本地仓库的版本是最新的远程仓库版本的基础上==(这点自己在项目实战上也体会)。

如果你的本地仓库版本已经落后于当前远程仓库的最新版本了,一定要先 pull 再修改或者 push

git push [别名] [分支]

接着会开始提示需要输入账号密码

  • 如果是创建远程.git仓库的那个账号密码,代表身份是远程.git 仓库的拥有者,可以直接推送
  • 如果 不是 创建远程.git仓库的那个账号密码,需要远程仓库的拥有者进行一项操作:添加这个用户为这个远程仓库的协作开发人员,邀请其对远程.git仓库进行修改(视频只讲了 github 的同意操作,私人服务器没讲,自己度娘吧)

拉取 fetch/merge or pull

①.先拉取确定一下更新内容再合并

先拉取

git fetch [别名] [分支名]

去拉取更新的分支确认一下

git checkout [别名]/[分支名]

确认完了回到原来那个分支,合并

git merge [别名]/[分支名]

技术图片

②.直接拉取并合并

git pull [别名] [分支名]

push request

视频 以 github push request 做演示,自己搭的服务器的话原理相同 怎么操作度娘吧。

目前用不到,暂时不研究。

技术图片
------------恢复内容结束------------

Git 操作记录

标签:查看   and   track   ali   rip   pre   命令   账号密码   指令   

原文地址:https://www.cnblogs.com/JanSN/p/12163203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!