git从安装到建立本地仓库与远程同步,从master分支拉取分支,修改提交后再合并到master分支

git 的安装及与远程建立同步关系

  1. 从git官网下载git,并按提示安装。都选默认即可。
  2. 安装完成后,查看git是否安装成功:git --version
  3. git对特定项目设置用户名/邮箱/密码的方法,global视情况而定
    git config --global user.name "Affandi"
    git config --global user.email "123333333@qq.com"
    
  4. 然后执行命令查看config文件:cat config

git秘钥生成以及github配置

  1. 确认本地秘钥,SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录。如:C:\Users\asus.ssh\
  2. 如没有此目录,则需要生成密钥。打开git Bash,命令行输入如下:
// 生成秘钥:直接Enter就行,然后会提示输入密码(可输可不输)
// email必须是你注册github的账号。
ssh-keygen -t rsa -C "your_email@youremail.com" 
  1. 生成密钥后,去到第1步中的目录,找到对应的id_rsa和id_rsa.pub文件,有.pub 后缀的文件就是公钥,另一个文件则是密钥。
  2. 登录GitHub账号,GitHub---->Settings---->SSH keys. 点击 “new SSH keys”,输入title(随意),输入Key,key中的内容为id_rsa.pub文件的内容.
  3. 测试检验ssh keys是否成功,命令如下。
ssh -T git@github.com 

当看到Hi xxx! You’ve successfully authenticated, but GitHub does not # provide shell access.后就配置成功了。

验证与GitHub的是否可以同步成功及分支拉取与合并

1. 拉取GitHub仓库中的代码:
  $ git clone git@github.com:username/test.git
    Cloning into 'dispicker'...
    Warning: Permanently added the RSA host key for IP address '13.250.177.223' to the list of known hosts.
   	remote: Enumerating objects: 3, done.
   	remote: Counting objects: 100% (3/3), done.
   	remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
   	Receiving objects: 100% (3/3), done.
2.去到项目位置
  $ cd test/
  asus@*** MINGW64 /e/test (master)
3. 为了确保是最新代码,可以拉取下。
  $ git pull
   	Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
   	Already up to date.
  asus@*** MINGW64 /e/test (master)
4.从master分支拉取出新的分支,别切换到新创建的分支:
   $ git checkout -b dev1.0.0
   	 Switched to a new branch 'dev1.0.0'
   asus@*** MINGW64 /e/test (dev1.0.0)
5.把新建的分支push到远端
   $ git push origin dev1.0.0
   	 Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
   	 remote:
   	 remote: Create a pull request for 'dev1.0.0' on GitHub by visiting:
   	 remote:      https://github.com/kinjoeWhan/dispicker/pull/new/dev1.0.0
   	 remote:
   	 To github.com:kinjoeWhan/dispicker.git
   	  * [new branch]      dev1.0.0 -> dev1.0.0
  asus@*** MINGW64 /e/test (dev1.0.0)
6.关联远程
	$ git branch --set-upstream-to=origin/dev1.0.0
   	  Branch 'dev1.0.0' set up to track remote branch 'dev1.0.0' from 'origin'.
  asus@*** MINGW64 /e/test (dev1.0.0)
7.再次拉取验证
    $ git pull
      Already up to date.
  asus@*** MINGW64 /e/test (dev1.0.0)
8.修改文件内容。比如更新README.md文件内容,修改内容后,可以通过git status查看文件修改情况:
    $ git status
   	  On branch dev1.0.0
   	  Your branch is up to date with 'origin/dev1.0.0'.			
   	  Changes not staged for commit:
   		  (use "git add <file>..." to update what will be committed)
   		  (use "git restore <file>..." to discard changes in working directory)
   		        modified:   README.md			
   	  no changes added to commit (use "git add" and/or "git commit -a")

asus@*** MINGW64 /e/test (dev1.0.0)
9.提交
    $ git add README.md   //提交前需要先add变更的文件,然后再commit
  asus@*** MINGW64 /e/test (dev1.0.0)
    $ git commit -m "更新readme内容"
      [dev1.0.0 ad2c3cc] 鏇存柊readme鍐呭
      1 file changed, 1 insertion(+)
  asus@*** MINGW64 /e/test (dev1.0.0)
10. 提交到远程
    $ git push origin dev1.0.0
   	  Enumerating objects: 5, done.
   	  Counting objects: 100% (5/5), done.
   	  Delta compression using up to 8 threads
   	  Compressing objects: 100% (2/2), done.
   	  Writing objects: 100% (3/3), 317 bytes | 317.00 KiB/s, done.
   	  Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
   	  To github.com:kinjoeWhan/dispicker.git
   	     7788c1a..ad2c3cc  dev1.0.0 -> dev1.0.0
asus@*** MINGW64 /e/test (dev1.0.0)
11.把修改分支合并到master分支
   (1)先切换到master分支:
   $ git checkout master
     Switched to branch 'master'
     Your branch is up to date with 'origin/master'.
     asus@*** MINGW64 /e/test (master)2)然后拉取最新的,预防远程有变更:
   $ git pull origin master
   	 From github.com:kinjoeWhan/dispicker
   	  * branch            master     -> FETCH_HEAD
   	 Already up to date.
   	 asus@*** MINGW64 /e/test (master)3)最后合并dev1.0.0到master分支:
   $ git merge dev1.0.0
   	 Updating 7788c1a..ad2c3cc
   	 Fast-forward
   	  README.md | 1 +
   	  1 file changed, 1 insertion(+)
   asus@*** MINGW64 /e/test (master)4)查看变更:
    $ git status
   	  On branch master
   	  Your branch is ahead of 'origin/master' by 1 commit.
   	    (use "git push" to publish your local commits)		
   	  nothing to commit, working tree clean
   (5)提交到远程master
      $ git push origin master
   		Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
   		To github.com:kinjoeWhan/dispicker.git
   		   7788c1a..ad2c3cc  master -> master
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值