Git使用

1、创建版本库
git init  
git add readme.txt
git commit -m "wrote a readme file"
git status  //查看状态
git diff readme.txt                   //查看不同
pwd(显示当前目录)
2、版本回退
git log                              //显示从最近到最远的提交日志
git log --pretty=oneline
git reset --hard HEAD^      //回退到上一个版本
git reset --hard c276a29   //回退到指定版本
HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reflog 记录你的每一次命令(每一次commit)
3、工作区和版本库
.git中: 暂存区(index)、第一个分支 master、指向master的指针HEAD
每次修改,如果不add到暂存区,那就不会加入到commit中
未commit时候 git diff HEAD -- readme.txt 查看修改了的内容,放在暂存区与版本库中内容的不同
4、撤销修改
git checkout -- file   可以丢弃工作区的修改
(1)file  未放入暂存区,撤销修改回到和版本库一样
(2)file  已经添加到暂存区,又修改了 ,撤销修改 回到添加到暂存区后的状态
git reset HEAD file  撤销暂存区的修改,重新放回工作区
5、删除文件
git rm test.txt
git commit -m "remove test.txt"
删除错误,从版本库恢复
git checkout -- test.txt
6、远程仓库
SSH新建
ssh-keygen -t rsa -C "youremail@example.com"

添加远程仓库
git remote add origin git@github.com:AmyMengz/assistent.git
git push -u origin master   上传到远程仓库

从远程仓库克隆
git clone git@github.com:AmyMengz/assistent.git
7、分支管理
创建分支:git branch dev
切换分支:git checkout dev
创建分支并切换:git checkout -b dev
查看当前分支:git branch
合并指定分支到当前分支:git merge dev  
删除dev 分支:git branch -d dev
查看分支的合并情况:git log --graph --pretty=oneline --abbrev-commit

--no-ff方式的git merge:git merge --no-ff -m "merge with no-ff" dev
强行删除一个没有被合并过的分支:git branch -D feature-vulcan

查看远程库的信息:git remote
查看远程库的详细信息:git remote -v (显示了可以抓取和推送的origin的地址)
推送分支:git push origin master
抓取远程分支:git checkout -b dev origin/dev
定本地dev分支与远程origin/dev分支的链接:git branch --set-upstream dev origin/dev
1、首先,可以试图用git push origin branch-name推送自己的修改;
2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3、如果合并有冲突,则解决冲突,并在本地提交;
4、没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

一般使用方式:

1、本地建立分支,dev

git checkout -b dev  在dev分支进行修改

git status  ->  git add  ->  git commit -m ""    提交修改

2、切换到master分支

git checkout master

3、合并分支

git merge dev

4、添加到本地分支,上传到远程分支

  git push origin master

 

git修改远程仓库地址

方法有三种:
1.修改命令
git remote set-url origin [url]

例如:git remote set-url origin gitlab@gitlab.chumob.com:php/hasoffer.git

2.先删后加

git remote rm origin
git remote add origin [url]
3.直接修改config文件

4、error: failed to push some refs to 'ssh://admin@192.168.1.68:29418/xxx.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.

1. git init //初始化仓库

2. git add .(文件name) //添加文件到本地仓库

3. git commit -m "first commit" //添加文件描述信息

4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支

5. git pull origin master // 把本地仓库的变化连接到远程仓库主分支

6. git push -u origin master //把本地仓库的文件推送到远程仓库

5、! [rejected]        master -> master (non-fast-forward)

存在冲突,需要先解决冲突

6、git pull

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master
//需要设置远程仓库和远程分支名

git pull origin master  

CONFLICT (add/add): Merge conflict in .gitignore
Automatic merge failed; fix conflicts and then commit the result.  自动合并失败

Administrator@mz-PC MINGW64 /f/Work/AS/AS2.3/MyApk2 (master|MERGING)

查看文件可以看到冲突信息

<<<<<<< HEAD
## XXA

开发板xx
=======
## MyApk

开发板my.apk
>>>>>>> d9a9c836ccb23df609019098552b8aed9c8217f7

手动解决冲突,

git add 

git commit -m 

git push

 

查看已经commit 但是还没有push 的代码

git log master ^origin/master

 

查看自己的用户名和邮箱地址:

  $ git config user.name

  $ git config user.email

修改自己的用户名和邮箱地址:

  $ git config --global user.name "xxx"

  $ git config --global user.email "xxx"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值