Git

在Eclipse中修改git地址 用户 密码等  请参考 Eclipse中修改git地址、用户、密码

修改window下的git密码 参考 git clone远程仓库时,输错密码如何解决?

如果执行git clone命令时输错密码,会报错如下。是因为Windows的凭据管理器里面保存了你刚才输入的错误账户信息。

修改密码的方法: 去  (控制面板\用户账户\凭证管理) Control Panel\User Accounts\Credential Manager 下面修改刚才输入错误的账号密码

HEAD 
HEAD really just means "what is my repo currently pointing at".

  • 每个git仓库只有一个HEAD,对应 .git/HEAD文件,通常指向某个本地分支,是可以修改的
#修改HEAD指向哪个本地分支yourbranchname

git remote set-head origin yourbranchname

git log origin

如果github上修改了仓库名,就需要先git remote set-url origin [URL],再进行commit push动作

origin 和 master

  • origin是远程仓库的默认名字,当我们通过 git clone https:************ clone一个托管在Github上代码库时,git为你默认创建的指向这个远程代码库的标签, origin指向的是repository,master指向这个repository中默认创建的第一个branch。
  • master :创建仓库时,git给主分支取的默认的名字. master is a name commonly given to the main branch, but it could be called anything else (or there could be no main branch).

branch使用习惯:不要直接在master上分支开发
第一次新建master分支的时候,一般只放README.md文件,不放其它东西,然后我们再在master分支上新建立一个develop分支进行开发,然后后面在develop分支开发好了再到master上合并。

Git基本操作

1.git 拉代码 不指定分支 (默认是master分支)  把git的master分支代码拉到foldername文件夹中

git clone .git  foldername

2.git 拉代码 指定分支  把git的branchname分支代码拉到foldername文件夹中,foldername一般取名为branchname

git clone -b branchname .git  foldername
3.新建branch 用git branch命令
git branch branchname

4.切换到你需要的分支 用git checkout 命令

git checkout  branchname 

5.查看本地分支:分支名字前有*符号的就是当前所在分支

git branch 

6.查看远程和本地分支:分支名字前有*符号的就是当前所在分支

git branch -a

7.git更新文件

运行git pull命令 就可以把分支下的文件下下载下来。

git pull

8.git提交文件  把需要提交的文件add   

  • git add . 添加全部文件
  • git add file-name add指定文件
git add .  
git commit -m "commit comment"
git push -u origin branchname

9.推送本地分支local_branch到远程分支 remote_branch并建立关联关系

git push的流程是:先选中本地需要提交的文件---然后commit上传到本地git仓库,------然后才可以push到远程GIT中--然后你才可以在远程的git中查看

本地切换到local_branch,远程已有remote_branch分支并且已经关联本地分支local_branch(直接push代码)         

 git push

本地已经切换到local_branch,远程已有remote_branch分支但未关联本地分支local_branch(关联分支并push代码)

 

git push -u origin/remote_branch

 

本地已经切换到local_branch,远程没有remote_branch分支(远程新建名为remote_branch分支,并push代码)

 

git push origin local_branch:remote_branch
最好不要用git push, git push origin branchname最好用,git push origin branchname操作的前提是你切换到了当前远程branchname分支。

10.git删除文件 参考删除文件

删除文件,提交删除,把删除push到github

git rm test.txt
git commit -m "remove test.txt"
git push -u origin branchname

11.git删除文件夹  删除foldername文件夹

git rm -r foldername
git status 
git commit -m 'delete foldername'
git push -u origin branchname

12.git删除文件夹  要删除folder name文件夹。文件夹名字有空格  把空格用""引起来 参考Git 删除带有空格的文件夹

git rm -r folder" "name
git status 
git commit -m 'delete foldername'
git push -u origin branchname

13.显示改变的文件 git status命令

git status

14.git删除分支

#查看项目的分支们(包括本地和远程)
git branch -a
#删除本地分支
git branch -d BranchName
#删除远程分支
git push origin --delete BranchName
git push origin -d BranchName

 

15.git 用命令行,merge dev_sb branch to dev branch:

在dev下打开Git Bash Here

$ git pull
$ git checkout dev_sb
$ git pull
$ git checkout dev
$ git merge dev_sb
$ git push -u origin dev

  

16. 已有分支branchA, 需要创建一个新分支branchB,新分支是全新的内容

准备好要上传到新分支的文件

git clone -b branchA url branchB
cd branchB
git branch branchB
git checkout branchB
git rm -rf .
cp file to folder branchB
git add .
git commit -m 'comment'
git push -u origin branchB

 

17.create a new repository on the command line 用命令新建一个branch

echo "# readme" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://alm-github.*******************.git
git push -u origin main

 

git fetch --all //只是下载代码到本地,不进行合并操作

git reset --hard origin/master  //把HEAD指向最新下载的版本

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改

git clean -df #返回到某个节点
git clean 参数
    -n 显示 将要 删除的 文件 和  目录
    -f 删除 文件
    -df 删除 文件 和 目录

参考 
git 分支管理 推送本地分支到远程分支等  git中的origin

git book
git book:  "Pro Git" by Scott Chacon

posted on 2020-04-15 17:13  dreamstar  阅读(82)  评论(0编辑  收藏  举报